Being open source is a large part of its appeal. I've been using automation tools for 14 years now. All tools tend to have issues at some point. The first commercial tool I used had an issue which blocked automated testing. We shipped the application in 3 months. I submitted a bug to the automation tool company. I followed up a few times while we were trying to get the application out the door. Mean while I used a second automation tool to automate the tests the first tool could not. The next reply from the company I received, 5 months later, was from sales to see if I wanted to renew my support package and seat licenses. I still hadn't heard from support about the ticket I filed.
When I have a problem with Selenium I file a ticket and hack the source code to work around the issue. Having the source code gives me the flexibility to do this.
In addition to that, there are few web automation tools which support multiple languages (Java, C#, Ruby, Python, php and Perl), support multiple browsers including mobile devices (Firefox, IE, Safari, Chrome, Android, HTMLUnit, and iPhone). It runs on multiple operating systems (Windows, Linux, UNIX and Mac OS X).
The cost is hard to beat as well. Additionally, you get people who are passionate about test automation using tools like Selenium. The support from this community is usually a LOT better than the support from commercial tools and, again, it is free.
Now if you don't have staff who program, it might be worth investing in commercial tools like QTP. Which is why QTP is still going strong.
Darrell
P.S. there are downsides to Selenium as well. ;)