Learning a foreign language is often difficult, and students seldom progress enough to become comfortable with it. They may understand the underlying construction of sentences, and their vocabulary might grow to equal that of a native speaker, but fluency is dependent upon hearing and responding in that language as a native speaker. Those who achieve fluency have worked long and hard, and most of them have had the opportunity to be immersed in the language.
For those interested in embracing a new language, it is best to travel to a place where it is the main language. Immersion gives them a much better chance of learning the accent as well as local dialects. They will learn the idioms used by native speakers, and they will eventually be able to think in the language rather than translating everything they hear and read into their own language first. While some people can achieve fluency without immersion, it is generally difficult for most of them.