Check out Elements vs. attributes by Ned Batchelder.
Nice explanation and a good list of the benefits and disadvantages of Elements and Attributes.
He boils it down to:
Recommendation: Use elements for data that will be produced or consumed by a business application, and attributes for metadata.
Important: Please see @maryisdead's comment below for further clarification.