Learners of a second language are often at a disadvantage because they expect adult level proficiency in a short period of time. They often forgo focussing on fluency in order to chase that proficiency. In the end they fail at both.
Some of the most unfortunate myths that persist about language learning really hurt. For example, if you ask the average person how many words of vocabulary they need to be "fluent", they often pick numbers like 2000. But that's the level of vocabulary for a 2 or 3 year old. Adult level proficiency requires upwards of 20,000 word families.
Basically, what I'm trying to get at is that English skills of people in their early twenties are guaranteed to suck unless they are using English almost as much as their native language. It takes native people 10-20 years to get a good level of proficiency. What we can hope to do is to refocus education on fluency rather than proficiency so that at least people can converse freely in a small area. Then over time they will gradually accumulate proficiency in other areas.
This opinion is unfortunately not widely shared in the teaching profession at large :-(