I can easily train all the obedience stuff at home, but as mentioned, classes provide structure and distractions. Usually I just go to the classes to see what we need to work on more, then go home and train that until the next class.
To me it doesn't really matter if the class is poorly structured or the instructors are bad (which they happen to be at my local club), as long as they don't demand that I train a certain way (e.g. you HAVE to use corrections or luring). I do prefer a club that recommends reward based methods though. It means they at least try to make training fun, there is no prejudice against us for using reward based methods, and my dogs don't have to be around potentially very stressed dogs from overuse of corrections.
I wouldn't be doing advanced obedience with a puppy though. The most important thing for a puppy is socialisation, which means exposing him to many different situations and environments, as well as people, and also teaching him that not every dog/person he sees is to be played with. I would also be working on basic manners and really basic obedience stuff, like sit/stays and recalls. Puppy classes are good, but they shouldn't be a free for all playgroup, they should be more about teaching the puppy to focus and obey even around distractions.