Here's a simple way to look at it.
Let's say there are 4 variables that determine overall speed of a graphics card.
1) Core speed
2) Shader speed
3) Memory speed.
4) Bus width.
I'm just going to use rounded figures and this is by no means scientific
But you should get the idea from it.
ATI has 2x faster memory speed than Nvidia, but Nvidia has a bus width that can shift 2x more information at the same time. The end result is they are almost equal in memory bandwith.
Nvidia has 5x better shaders than ATI (note this isn't just about shader speed but takes in other aspects), but ATI has 3x more shaders. Nvidia has much better speed overall on sheer speed per shader.
ATI has 2x faster core speed, and this would make it easily be faster overall than Nvidia overall - however Nvidia has 2x more transitors so once again they are about the same.
At the end of that, you have two cards from two different makers and both are extremely similar in performance. In actual fact, Nvidia has more 'grunt' on their gpu's but the price is...price. It costs money for bigger buses, bigger chips etc - In terms of raw power Nvidia is ahead, but in terms of price/performance ATI is a long way ahead. That is why many consider ATI to be 'winning' the gpu battle right now.