My teacher is using the 5th edition, but I have the 6th edition, and it is not a problem. The assignments are the same, so buy the 5th edition since it's cheaper. I think there are a few kids in my class that are using the 4th edition without any problem, but I don't know for sure.
Programming is a hard thing to learn, so it would be unrealistic to think this book will magically teach you. However, I think it does a decent job with a very hard subject. The best way to learn is by trying to program, but if you get stuck, the book is probably not going to be much help.
It also teaches about classes before you learn about functions, which makes almost no sense to me. If you don't understand functions, classes are impossible to understand other than in theory. And learning things in theory does not help you!! (It does later when it all comes together, but if you don't understand the first steps, you will never get there!)
If you are buying this book to learn (and not for a class), get the 3rd edition because it teaches functions before classes. C++ has not changed significantly, so don't worry about it being old.
The CD that comes with the 6th edition has Visual Studio Express Edition, which is FREE software that you can download from Microsoft anyway. If you buy used, you do not need to make sure you get the CD.
I believe that previous editions actually had some content on them, like code samples, questions, answers, etc. (Again I don't know for absolute sure, because I don't have them.)
The 6th edition has a code on the inside cover, you scratch it off and it lets you set up an account for the "Cyber Classroom." The cyber classroom has the entire book online, along with audio samples of people explaining things. (I have never listened to them, so I don't know if it's good or not.) If you don't have the book or your code has already been used, a subscription to just the cyber classroom costs $60 all by itself.