We are currently in Peru at a language immersion school. I learned more in 2 weeks being immersed than any program or class in the States ever could have provided. We're in week 6 now. There is just something about being surrounded by it 24/7.
That being said, I did tinker with many of the programs before we left:
Rosetta Stone: I don't get the hype. It's super expensive and is focused on teaching you vocabulary. It's also a bit boring and felt like a drag to do at least in my opinion.
Duolingo: Some people love it others hate it. It is free so it has that going for it. It is very fun and easy to come back to. Many of the words they present to you to learn aren't the ones we've learned people use in Latin America though. And the explanations on how the grammar is structured are nearly non-existent. It is a good supplement, but I wouldn't expect this to teach you the meat of the language.
Fluenz: another software. I like this one better. Instead of vocabulary based, this one is more situational based. They try to make sure you can survive getting a taxi, greeting, ordering food, etc and present to you the language in the ways you'll most likely need it as an American. It is a bit more engaging because of that. The narrator is also easy on the eyes so there is that.
Regardless of what you use software wise, try and find a CD that is meant to teach you Spanish that you can listen to in the car on the way to work. The more you hear it the better your pronunciation will become. Focus on the sounds the vowels make to start.
And as others said, find someone you can talk to in Spanish that will help correct and explain things to you. The more the better, but strive for at least twice a week.
Good luck, it is a beautiful language but learning it fully can take a bit. Normal students in immersion have the language more or less down in 6 months.