When it comes to actual crunching, the ATI architecture runs rings around NVIDIA:
http://golubev.com/files/igrargpu/rar3_speed.pngHowever, the CUDA tools are far better than the OpenCL used on the AMD cards, and the result is that usually programs run slower on ATI than NVIDIA, despite the natural advantages that ATI ought to have.
NVIDIA are after all chasing crunching with Tesla, whereas AMD are far more focused on pure-graphics.
Intel integrated cores range from poor to great. There's nothing shoddy about the high-end Intel integrated graphics, its just not the premium part that a discrete graphics card is. But that doesn't mean that bangs-for-bucks the Intel cards are rubbish.
The high-end cards are much more capable than the games. If you are developing a game you can't really dictate that users must have only the highest-end cards. So you limit your 'quality' slider to things that are generic and easily dynamic such as 'number of lights' and 'filter quality' and perhaps 'texture quality' but you can't raelly build your engine around some super-high-end thing like NV_vdpau_interop (to pick an extension at random) because you'd end up having to build basically two or more different rendering engines.
It takes a massive investment to make a good engine, and you see this starkest on consoles; the hardware doesn't change, but the graphics in games released gets progressively better as the engines better learn how to utilise the hardware.