I would also add that online sites often have their own loyalty programs. If you book through a site like Orbitz, you collect points in their rewards program (essentially 1% back for flights) in addition to the airline's program.
This is not true for hotels. For the case of hotels, you usually do not get points in their loyalty program if you book through a third party. Therefore, you have to pick one or the other.