I am also surprised so many people don't like these beaches. If you are looking for peace and quiet, these are not the places to go. But if you are looking for clean, fun beaches, I think both are nice. We are from Massachusetts and have been to Myrtle Beach twice and just went to Virginia Beach for the first time last week. The main reason we go to these beaches is for the warm water, and my kids spend most of the time swimming.
I prefer Myrtle Beach over Virginia Beach. The water is warmer and the waves have always been big but not too big-great for boogie boarding. It is very hot in the summer and I find I want to be in the water all the time or I am too hot. You can stay in a very inexpensive condo right on the water with nice pools, lazy rivers,... We stay in the southern part of Myrtle Beach and it is very family friendly, beaches are clean, and lifeguards are good. There are tons of restaurants, shops, and activities including the boardwalk area, and there can be traffic getting around the area.
Virginia Beach was nice, too. We stayed on the northern end of the Boardwalk. It is mainly big hotels/restaurants along the boardwalk. The boardwalk is long and there is a bike path as well. A block back there are all the touristy shops, candy stores, mini-golf, arcade,... People rent bikes/surrey bikes. When we were there last week, waves were very small the first couple of days and by the end they were bigger/rougher than I wanted. The water was pretty warm - I could get in and get used to it quite easily. Lifeguards were good there as well. We stayed in a hotel on the water and it cost over twice what I spend on a two bedroom condo at Myrtle Beach. We went to Norfolk on our rainy day and did a tour of the Navy shipyard and Battleship Wisconsin. The beach was very wide, clean, and did not feel crowded where we were (there were people all around but not on top of us).
I think either place is fine if you want a more action-oriented beach.