The most likely culprit is friction in the cable housing. If there is a dependent loop of housing, water can collect in that loop and eventually rust the cable, causing it to bind. Replace the cable and housing and you should be good.
Another possibility is a cable routing problem. Some front derailleurs, particularly top-pull models, have non-intuitive cable routing and won't work if you hook things up wrong. If you've just replaced the cable and it doesn't work, this could be the problem. Post a picture of your derailleur and how it is connected to the cable and perhaps someone here can help.