For most gamers, the GTX 560 is all you'll need and all you will need for a few years. However, some gamers will want to play titles at 1080p resolutions and maximum detail, even demanding titles like Battlefield 3. Other gamers might play on a 30" monitor with a resolution beyond 1080p.
Whatever the situation, if you want maximum performance, the Nvidia GTX 580 is probably your best bet. This behemoth is able to play the latest titles like BF3 at 1080p resolution and ultra detail settings. It's a real bruiser of a card, and if you ever feel like you need more performance, you can always go SLI - though at that point, you better make sure you have a 1000 Watt power supply.
Of course, the price of $500 is hard to get over, and not everyone looking for maximum performance wants to buy two cards. If you want maximum single-card performance, try the Radeon HD 6990. It packs two GPUs into one mammoth package that starts at around $700. A lot, I know - but it can handle anything, at any resolution, and any detail setting.