From what you've described, it seems one of two things: either the jack doesn't fit well or the jack is "special".
By "special" I mean there are some vendors (for instance, Nokia headsets), that, in order to accommodate the microphone signal, they create a new band within the jack, sometimes elongating it slightly.
Some ports that conform to regular jacks make it hard for those kinds of jacks to fit properly, and as such, the connection between the male and female isn't perfect. As such, current doesn't pass correctly and the signal's strength (what you hear) is attenuated and/or distorted.
The solution is what you've tried: just give a little leeway and don't plug the jack completely. It isn't the perfect solution, however.
If the problem is the wire (according to what you described, it isn't)... you can try to "squeeze" the whole of the cable. Sometimes it works, most times it doesn't. The place most headphones break is the connection between the wires and the jack. In that case, although you can try and solder the wires to a new jack (there are a lot of Youtube videos, search them), as the wires have some sort of fine fabric mesh in order to insulate them (besides being very thin) they won't solder well with the jack.