I think the best tourist attraction is one that gives tourists a sight of the city or further knowledge about it. Places like the Science Museum and Natural History Museum are great, but they do not specifically focus on London. If tourists want to see London, then The London Eye will give you the best 360 view of the city. If you want to learn about the capital, then the Museum of London gives you a complete history from the Stone Age right through to present day.
I've recently visited London for the first time and was completely amazed with everything as it's SO different from Perth, Australia, where I'm from. I especially liked the Tower of London, as its such an iconic structure with almost 1000 years of history connected to it. I was expecting to see 'just' a historic tower and to spend perhaps an hour or so wandering around, but I ended up spending four or five hours there and even then there was so much that I felt I missed. There are also several really good gift shops, so if you're looking for a classy souvenir or a gift for friends back home, these can be good to check out.
In my opinion, the British Museum was also an incredible place to visit, especially if you're interested in ancient history, archaeology or art history. As this museum is also massive, I'd also recommend spending at least a day there. There are also some very good cafes, gift shops and if you're travelling with children, they seem to hold regular activities and events for kids.
Theatres', Restaurants', Museums', 221b Baker St., the Planetarium, Harrods', House of Dunhill, Historic Hotels, Shops, quirky little shops, Dinners at ancient buildings, Day trips in every direction, 'Jack the Ripper' Tour.....& to get around? The 'Tube', of course!
Just plain L O V E London!
It's about time I went back, for 'old times' sake'!