Haddonfield is a
beautiful town with a wonderful downtown/main street...probably one of the nicest in South Jersey, although most of the shops are expensive boutiques. Haddonfield is expensive and has an "uppercrusty" feel to it (lots of high income people live there...doctors, lawyers, professors) and there is pretty much zero diversity - pretty much a town of white, preppy types. If you are comfortable in that kind of environment and can find a place to rent in your price range, I say go for it.
I also agree with the others who suggested Collingswood. Collingswood is right down the road from Haddonfield (maybe 1-2 miles). Not sure how great the schools are but it's a great little town with charming older architecture and an adorable and hip downtown, and very conveniently located for all the places you need to get to (and also to Philadelphia)...right on the
PATCO line. It's got more of a "young" vibe than Haddonfield.