I just had to give my brother very similar advice because he is spending today and tomorrow in London for the first time. We've been living in England for the past year and have been able to visit London quite a few times. Here's what I'd recommend
for a short visit - Westminster Abbey (do the verger tour!), British Museum and the National Gallery.
I've done two Thames boat rides and would say that it's worth doing to get a different view of London. Tower Bridge to Parliament is the classic route and included in the hop-on/hop-off bus tours (if you're considering that).
We stay at Travelodge everytime we go to London. It's by far the best clean budget hotel, some locations are newer and therefore nicer than others (Euston and City Road for example). Rooms are as cheap as £19 if you book in advance or during one of their sale periods (sign up for e-mail notifications to learn when their sale periods are). We've never paid more than £49.