I don't think that it is necessary to go to the country where the language is spoken in order to learn your target language. I'm pretty sure that you can immerse yourself from the comforts of your home, if you are willing to put in the effort. It may be harder to get the food and vibe of that country in your own country though. I think a combination of everything (reading, listening to podcasts, watching tv shows and movies, speaking with natives) is the best way, but this is just me. I think the most important thing is that people have fun when they are learning a language, or else the motivation will be fleeting even quicker.