If you want loadtesting to be 100% compatible with your website, i would recommend www.browsermob.com. they use REAL browsers in their load tests. All you need to do is record a selenium script using the firefox selenium-ide addon, upload the script to browsermob, and execute.
However, there are also other tools, that works on different layers. browsermob/selenium works on the gui layer with real browsers, i believe they are the only load testing tool which does this. HP Loadrunner (click and script), Neotys Neoload also works on the gui layer. However they dont use real browsers, they have their own built in browser that really isn't suited for next gen web applications (web2.0/ajax and alike).
On the other hand, you have the tools that works on the http layer (sniffs the http traffic and records the http get and post requests). This toolset includes Grinder, jMeter. HP Loadrunner also has an url based protocol to handle this (which also is the most popular way of using HP Loadrunner afaik). This route however forces you to include application logic in your tests if you are testing a rich internet application (ex ajax push/poll).
So basically it's all about what application you are going to test and what your budget is for a testing tool.
For rich internet applications i would probably recommend browsermob.com which is based on selenium, or roll your own selenium testing platform using selenium-grid (requires alot of hardware). The only downside is that you will have to implement/purchase your own serverside monitoring toolset, as browsermob don't have this atm. And also if you need more monitoring on the client side, you probably want to have a proxy between browsermob/selenium.
Monitoring is where loadrunner really does a good job, they have all kinds of monitors and graphing (client side and server side) where you correlate graphs and data and easily spot patterns and problems in your application and server systems. However HP Loadrunner doesn't come cheap.
Neoload is a tool im not very familiar with, but im guessing it's like the little brother of HP Loadrunner, much cheaper but with less functionality and monitoring.
jMeter and Grinder are opensource tools for loadtesting, they are powerfull tools. But the drawback is that they only work on the http layer. However, it's only a drawback if you have to handle ajax applications. for a basic website with no ajax/web2.0 features where a single http request is a new page load. then this probably is the tool for you.