Zero cost interoperability with your graphics API is a big one. Using CUDA for compute, and then mapping that data into OpenGL to draw it is way slower than it should be.
Not to mention NVidia did not allow simultaneous compute and graphics workloads on the same SM until the newest 10 series GPUs while AMD had this since, at least, the very first GCN (2011?)