The fact that you can compile the same c code and run it on all of those is exactly the difference.
It doesn't matter that the ISA's are merely different, if the compiler automatically abstracts 99% of the difference. In the end, the developer of a random app doesn't have to do much of anything or care much what cpu the user is on. I have such code myself and it doesn't care.
The same is not true for gpus.