A mashup is the combining of two or more sources of data to form a new data set. In principle, there is not really any difference between a mashup and the situation in which you trawl a few websites for data, paste the data you find into a spreadsheet, and insert some formulae to work on the data to yield different, and potentially more interesting and revealing, results.
The kind of mashup we're talking about here is (usually) on the web, and is updated automatically in real time.
A kind of low-level mashup is, I would say, inserting an rss feed into your home page so that people can see what you've been saying on Twitter, or the comments people have been making about your articles. If you think about it, that meets the criteria for a mashup which I have just outlined: it's on the web, it combines one set of data (the comments) with another (your blog's front page) to yield information that is updated in real time, ie immediately.
You could argue that this isn't a real mashup in the sense that it doesn't reveal anything new, and certainly doesn't give you anything you could not have found anyway. However, by adding the comments to the front page of your blog, it provides the visitor with a richer experience and, furthermore, saves you and them time: why go looking for the data if if you can have it delivered.
More adventurous mashups combine data from sources you may not know exists, or does so a lot faster than you could without assistance.
Take Trendsmap, for example. This takes Twitter trends and places them on a world map. Want to see what's hot news in British Columbia right now? Look no further. Is this a solution looking for a problem? Not if you're a journalist or a blogger wishing to write about the latest news on everyone's lips.
It should be obvious by now that this sort of application does not merely present you with two or more sets of data. By combining the data sets in new ways, the information you obtain is itself different to what would otherwise have been the case. Anyone who has ever used a pivot table in Excel will know exactly what I'm talking about: by mashing up the data, you start to see patterns that were hitherto hidden.
This has business and social applications too. The UK government has recently made publicly available sets of data in ways that techies can use them to create mashups, as described in Hacking For Good Reasons. Mashups which let you see what jobs are available locally without having to stir from your kitchen table, or which tell you which areas of your town are safest, or what was in the news when your local politicians were waxing lyrical to the press -- all these things matter to real people.
As far as business is concerned, mashups can form an essential component of a company's data-gathering armoury. The real-time characteristic of mashups can even be put to use for defence purposes.
An interesting exercise for students might be to ask them to come up with ideas for mashups. They can explain why they think the mashup would be useful, and who for, and what data sets they would need in order for it to work. They would not necessarily have to create the mashups, although as part of a unit on sequencing (programming), or in an after-school club, such an exercise could be very interesting indeed. The idea would definitely fit in with the section in the National Curriculum (in England and Wales) which looks at the effects of technology in Society and the importance of client feedback. Other curricular include similar demands.
In many respects, mashups are among the most exciting of Web 2.0 applications -- not least because they are all different from each other.
See #1 of Top 10 Things You Didn't Know Google Maps Could Do for a great example of a mashup -- superimposing a spreadsheet onto a map.