What is the difference between sequence diagrams and collaboration diagrams?
Sequence diagrams and collaboration diagrams are essentially semantically equivalent. You can use either to model the dynamic aspects of a system in terms of objects interacting by exchanging messages. The difference is more in how the information is presented than in the underlying semantics of the diagram. Sequence diagrams emphasize the time ordering of messages, whereas collaboration diagrams depict more of an organizational structure and are more space efficient. Many UML tools will automatically convert from one diagram type to the other.
UML probably included both diagrams for historical reasons, since both were in widespread use (although with different names) before the development of UML. In practice, many organizations tend to prefer one over the other, but there doesnt seem to be a clear favorite overall.