I've been to both Layang Layang and Sipadan multiple times each. They are both good. Layang Layang is just one atoll that was landfilled to make a platform for a naval station on half of it. the rest of the "island" consists of just one resort and an airstrip. All of the diving is around the edges of the atoll or in the lagoon. The times I've been there, the marine life was prolific. I can't honestly say that Sipadan is better, but only that it's different for a number of reasons.
Sipadan has a larger area where diving is conducted once we factor in Sipadan itself, Mabul, Kapalai. Also there are numerous resorts to select from in different price ranges and comfort levels. Unfortunately, that also means lots and lots of divers! Layang Layang is still pretty isolated and protected from the mass abuse inflicted on the Sipadan area sites by thousands upon thousands of divers every year.
For Sipadan, whether to go to a resort or jump on the liveaboard probably depends on what your objectives are. If you want a guarantee that you'll do the maximum number of dives on Sipadan Island itself as you can possibly do, go on the liveaboard. But if you are happy with variety, go to a land-based resort. BTW, there are a couple of liveaboards that go to Layang Layang as well.