Major difference between QTP and Selenium are :
Selenium is an open source tool while QTP is not an open source tool. It is owned by the HP.
Selenium is used to test only web based applications while QTP can be used to test wide variety of applications like web based, .net based, Java based, mainframe applications.
Selenium supports scripting in many different languages like Java, .Net, Python, Ruby etc While in QTP only vb scripting is provided.
Web automation testing with selenium requires less cost as compared to automation using QTP due to license cost.