I think different people learn languages differently. I'm also of the opinion that you absorb information differently at different ages. That's why there's an entire curricula that has evolved around adult learning theory, because adults absorb and learn differently than kids.
Kids exposed to alternate cultures and languages at a younger age are more adept at picking up languages both then and later in life. My folks made it a crucial part of our upbringing to expose us as much as possible to other languages and cultures. It helped that my father was a French professor, and later the Chairman of the Foreign Languages department.
As a result, my familial lingual skills are as follows:
Dad
English, French, Spanish, Portuguese, Swedish, Finnish, German, and a bit of Russian and Chinese
Brother
English, Portuguese, Spanish
Sister
English, Swedish
Me
English and a bit of Spanish and French
Mother
English, and a bit of Spanish and French
The point?
Some people have a better ability to learn new languages than others, and if you're not "programmed" that way, no modalities may be able to help. For me, the only way I was able to learn any Spanish or French was through immersion in the culture. So, by reading books, watching TV game shows, and talking to locals when visiting Mexico and France.
I took Spanish for 7 years in high school and college - I know the "shoe verb" format, and can recognize masculine versus feminine nouns, but colloquial or conversational Spanish wasn't really attainable for me until the immersion. Even after that, I am usually only able to converse for about 5-10 minutes before I start getting to the limits of my vocabulary.