On our most recent trip to cross country flight from the west to east coast, we ended up flying with both options. From San Francisco to Washington DC, we had a connecting flight via Milwaukee with a 2 hour layover (Southwest/Airtran). On our return flight from New York to San Francisco, we purchased a direct flight home (United Airlines). In most cases, everyone prefers a direct flight because:
Less time waiting in the airport (no layovers)
Fewer chances of missing or canceled flights
Fewer chances for the airline to lose your bag (less handoffs)
However, sometimes a connecting flight is unavoidable. At other times, having a connecting flight may be helpful and even a godsend.
Potential for cheaper airfare
Short break to stretch your legs and grab airport quality food vs airplane quality food.
A break for your kids from the airplane
If the layover is long enough, time to meet friends at the layover city to have a quick meal.
From My Experience
Our flight from San Francisco to Washington DC had a scheduled 2 hour layover in Milwaukee around 6pm. It turned out this "break" would be perfect timing to grab a quick dinner in the airport. Unfortunately, the first leg of our flight was delayed nearly a full hour! Luckily we had enough time buffer between flights to catch our connecting flight, but many others were not so lucky and had to change flights back in San Francisco (this is a risk of connecting flights). Due to the delay, our layover was shorter in Milwaukee, but we spent more time waiting in San Francisco airport.
On the other hand, our direct flight from New York back home to San Francisco was much easier. You get on, and get off. There isn't any worrying about missing a flight. And cross country flights in the US are not that long and completely manageable in a single flight.
All in all, if I had to do it again, I'd chose to do a direct flight all the time (unless there is a substantial price difference).