Major difference between QTP and Selenium are :
1-Selenium is an open source tool while QTP is not an open source tool. It is owned by the HP.
2-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.
3-Selenium supports scripting in many different languages like Java, .Net, Python, Ruby etc While in QTP only vb scripting is provided.
4-Web automation testing with selenium requires less cost as compared to automation using QTP due to license cost.