A web mashup combines data or services from multiple sources into a single application. It presents information in a new way using technologies like HTML, CSS, JavaScript, and AJAX. There are several types of mashups including business, customer, and data mashups. When creating a mashup, developers need to consider best practices around security, compatibility, performance, attribution, and legality.