I've had 100% success using tops, but you have to do it right.
First and foremost is picking a pineapple in the store that you cannot pull the center leaves out of, if you can pull leaves out the top won't grow, it's probably already dying.
Second, after you cut the top off cut it again towards the green leaves until you see little spots in the meat. From what I've read this is where the roots will appear, also remove a couple of layers of leaves from the bottom. This must be a good method because EVERY top I put in water has roots in two weeks and can be planted in less than a month.
Don't plan on fruit soon though, they won't bear fruit for around two years, and then they'll be rather small, but very delicious.