We do this all the time in our GIS class. If you input image bands are integer, ArcGIS will default to an output of Integer. Since NDVI has a range of -1 to +1, you end up with only -1,0, +1. To fix this, simply multiply one of the layers in the equation by 1.0, with the decimal. ArcGIS then defualts to float for the output.