Dani, it depends on context and how one says it. Mariposa can be used as a more polite way of naming someone a homosexual, but in most cases it is still just a nicer way of insulting someone. It is like the difference of calling someone a faggot, or saying he is "light in the loafers".
Mick