Puto is almost the same as faggot. It is homophobic, but people can also use it like that comedian used faggot against the paparazzo, in a non homophobic context being used only as an insult.
I believe mexicans use both puto and joto as a homophobic slur.
Well that's not the original meaning of the word given that in Iberia mean just Kid. In Portugal there is even a famous song called "Os Putos"