Learning any new language is one of those things where you'll only get as much out of the lessons as you put into them. And naturally, some people will be more gifted at languages than others. Age will be a factor as well.
But a motivated individual can pick up a language in less than a year. It happens all of the time. You just have to commit yourself to practice at every opportunity. That's why immersion is good. And attempting to learn without an instructor will result in bad grammar that takes time to correct.
Me and a buddy of mine took an immersion course a couple of years ago in Santiago. My friend had no experience whatsoever with Spanish, and he struggled mightily as a result. But after a month and a half we were speaking and writing in spanish. Not fluent, but well above functional. About three months after taking the course, my buddy was translating Spanish documents for his employer. Pretty good considering that six months earlier, he had no knowledge of spanish whatsoever.
Does my buddy have a talent for languages? I don't think so. But he did put a lot of effort into practicing both speaking and writing the language. Including purchasing a number of practice books. And he had a very good first instructor.
We took that immersion course at the American Language Partnership Institute on Calle San Luis. I can't speak for anyone else's experiences there, but my buddy and I learned a lot of spanish there in a fairly short amount of time. Are there cheaper options? Probably so. But as I said, we were motivated, and determined to learn. And I've never been one to be cheap when it comes to school and learning. We got a very good grounding in the basic grammar rules and some limited vocab. Everything else we learned came from going out into the city and practicing what we were learning.
Everyone is different. But it all comes down to how much effort you are willing to put into learning the language.