Yeah, CUDA is way better designed than OpenCL, specially given its support for C++ and FORTRAN at compiler level.
Up to recently OpenCL was all about C. Plus it followed the same broken model as GLSL shaders, requiring low level compiler as library.
I think OpenCL camp is mostly unaware how advanced CUDA is in regard to language support, since they live in pure C land.
Better performance is a consequence of NVidia cards being quite good in regards to the competition and they pushing their own tech.
Overall you are quite right. As I mentioned, I see the move to PTX, HSAIL and SPIR as a small step in that direction.
More needs to happen in terms of the whole architecture.