Spanish immersion programs are a great way to learn because you learn and practice constantly throughout the day. The limited amount of practice you get in a typical class back home just can’t compare to what you get spending any length of time submersed in the language and culture of a Spanish speaking country.
So why do Spanish immersion programs work? To sum it all up it works because it replicates the natural way of learning a language. You start with sounds, which move on to words and then to groups of words, or phrases. Your ear picks up on subtleties that help you understand a variety of people (not just your high school teacher’s accent!). Then you practice this rudimentary, caveman Spanish in your day-to-day activities and conversations as you get over the “awkward phase” of being embarrassed to practice what you know. People correct you and you learn more. You learn more by listening to people’s responses, picking up both vocabulary and grammar rules. If you politely ask them to help or correct your mistakes you get multiple teachers.