I think that you should choose the performance testing tool according to the usage.
*JMeter is the best for a web apps performance testing which is not required any special handlings or protocols (like Citrix , SAP and Oracle suites)
*Visual Studio is useful for .Net technologies and sharepoint users
*Loadrunner is useful for special protocols as mentioned earlier but it is expensive and for the common web technologies as the othe tools.
For sure when needing a huge number of vusers we should use a cloud based testing and all the mentioned tools has a cloud testing service
But a personal preference i like JMeter more than any other Performance testing tools 