I think Codecademy is great for people who already know how to code a little bit. I can use Codecademy to learn HTML/CSS or about using APIs. However, I think for a complete neophyte, a book like Learn Python the Hard Way is significantly better. Someone HAS to walk you through setting up a programming environment, running an interpreter or compiling, etc. It can be incredibly frustrating and intimidating for first timers.
My friend Daniel says the same thing, he started with Codecademy and moved to Learn Python the Hard Way, and he definitely says they both had their merits but Learn Python the Hard Way got him to actually being able to code.
However, LPTHW wouldn't have made sense to him if he hadn't already done CA, so he liked having done them both.
I'm don't think I agree with this, I've been giving Codecademy a try recently to learn Python. I don't feel like I am any closer to actually building anything useful because all it has taught me is some syntax. I think the issue is because I already know just enough (from taking a course on C) to know how to solve the problems they give, but don't really know how to extend it to actually make something useful.
If I knew nothing about programming then I would find the basics of coding that Codecademy teaches to be useful as it is a different way of problem solving that needs to be learned.