The argument I have read here on HN, is that CUDA is made for NVidia hardware, and the AMD hardware is not the best fit.
Essentially it forces AMD to play by NVidias rules, exactly like how they were forced to follow Intel rules. (Ignore for a second that the API / ISA boundary is different.)
But despite that, I also believe AMD would be better off just implementing CUDA.