That's an impossible question to answer entirely. The primary difference is that they are two different companies producing graphics cards. Each has its own architecture and chips. It's comparable to AMD and INTEL. It makes sense to compare specific cards rather than entire companies.
nvidia supports sm 3.0 and fp 32. Pixel shader model 3 is direct x 9.0c and is/will be required for new and upcoming games. FP32 is high-definition rendering. Basically, ATI uses SM 2.0b and FP16, while nvidia uses newer SM 3 and FP32