It will also depend on what time of year you are going. I never waited more than 5 mins in line for any attractions when I was in London except for a small group of people at the crown jewels! And this was in Sept-Oct! But true to what GarryRF said, it's always safer anyways to avoid weekends and know in advance when they open and close. Enjoi!
During the peak summer tourist season (and sometimes when British schools are on break) are the times when long lines (queues) form at popular London visitor attractions. For such periods, you can usually pre-book tickets for some places like the Tower of London, London Eye, Hampton Court, and others to avoid long lines. Museums are mainly free, so prebooking is not relevant, except for special exhibits.
Arriving early in the morning or later in the afternoon may help avoid crowds at some sights. And some would say that the advantage of a pass like the London Pass is that you can bypass lines at some attractions. That's true, but it might not make the pass worthwhile for you--depends upon your itenerary and the number of places that you will visit that are covered by the pass.
Also, for this year particularly, be aware of the Diamond Jubilee (2-5 June) and Summer Olympics (27 July- 12 Aug) when London will be very crowded.
At many major museums and other attractions, in London and elsewhere, including special museum exhibits, you can buy timed tickets in advance on the internet. Check web sites.
We have visited London several times but always in early May and have never had a problem with long waits at any places we chose to visit or revisit. However, London is a busy place and we did find it better to go early when various places opened.
It depends upon what time you are visiting and what attraction you are going to visit.
Many attractions does not have tickets, however, if you are planning to visit any event or festival, eg. Olympic, Carnival Festival or any specific Concert it is always good to book the tickets in advance. You can search for the specific events, dates & timings, and then book the tickets online, This is the easier and faster way.