You have a lot of options, of course, if you want a better programmer, you must spent more money.
If you are a beginner, you could build a cheap programmer and in a future you could do something better.
You could use the first two programmers directly from the MPLAB. I used the propic with the IC-Prog 1.5D.
The better choice is the ICD2, it's a programmer debugger. The other two are only programmers. The PICSTART+ programm a lot of uC and the ProPic is very cheap.