Almost all usual responders on TA forums check states rather than cities though there could be an exception. I think you will find many more options if you drive a little further north to have fun. If your goal is just relaxing i suppose anywhere would do. If casinos, perhaps New Buffalo, but with four casinos in or near Cincinati i would assume Lake Michigan is your goal. If so, i believe the best beaches are from Warren Dunes State Park north. And I believe you best choice for activities is Saugatuck and north. And for lighthouses Saint Joseph north. There are some nice beaches in Indiana Dunes and a nice lighthouse in Michigan City with plenty to do in the area with South Bend not being far away but for true quaint nice full size beach towns i would suggest going north. You can get a taste of offerings on the links in your first post. In saying all that, there are some (many) who do really love New Buffalo. For wine tours, it makes a great location. For hiking along the lake beaches however, go further north or to a state park, though New Buffalo does have a beach area as well. Personal taste and interest is what its all about.
I wont say anything bad about any town. Most are nice in their own ways. But there all different. Some feel connected and others disconnected. Some feel quaint and others oversize. Some charming and some, well, a bit rough on the edges. This link will give you a map layout for all Michigan beach towns. www.eyeonmichigan.com
Really depends on what your are after or seeking for your weekend trip. I think any town you can enjoy the beauty of Lake Michigan will hold some good memories.