I have worked on both, and used QTP extensively before. It works best for teams that have one or two engineers who can create and maintain the test suites, and few more QAs with not so much programming skills can run the tests, and make minor changes. It's record and play (IMO) is better than selenium's.
Selenium is open source, so you are saving a lot of money that you would have to pay for licenses. Technologically Selenium surely goes way beyond QTP can, and due to the support for programming languages like JAVA, C#, Perl, Python, etc. the QA engineers can encompass backend tests too in their test suites.