To get started, I think two sample use cases are in order.
Use Case #1: Joe Blog (J.B. for short) has a blog hosted on Blogger, a free service. He only has the ability to change the HTML code that is produced, and can not add any server-side component. This is probably a good thing since J.B. doesn't know the first thing about how to do that anyway. J.B. does want a cool blog though, and wants a simple way add his favorite content from other sites to his blog.
Use Case #2: Johnny Web (J.W. for short) is a web developer, has his own site, and wants to provide rich content for his small group of users. His site is very small, more of a personal web site, and only has a small number of volunteer contributors. J.W. Wants to augment his content with content drawn from some of his favorite web sites. He doesn't want his site to look like everyone else's though, so expects to tailor the external content to fit his site's design and feel.
Example: Google Search
(using external content on your site)
Google at some point quite a while ago made an API available to their search engine. It allows you to use web-services to send a query to Google, returning the search results. Using the API allows you to present the results on your site as you see fit. Google also supplies HTML code that you can place on your site, which includes a search box and the Google logo, but with this the results are displayed on Google's site and not yours. This is a good example of where an API may offer more than an HTML snippet.
Example: Flickr Advertisement
(providing links to your content on another site)
Flickr is an online photo library where you can upload and share pictures in your own little gallery. Flickr provides you with several options of advertising your Flickr gallery, including a Flash movie and a badge. The Flash movie is the interesting one here. The Flash movie displays a dozen pictures in a 3x4 grid, and expands each in turn to make them easier to see. The best part about it is that the pictures in the Flash movie are from your gallery! As an example, I maintain a second blog, mostly for testing, that includes a Flickr Flash.
This is all good for J.B., but J.W. wants a little more. Flickr also has a web-services API that can be used to manipulate your content on their site. This API is not only useful for delivering content dynamically on your site, but is also used by some applications, including the new Flock browser.
Example: del.icio.us Link and Tag Rolls
(displaying your content on your site)
Again, J.W. is yawning here, he wants a little more control. And again, del.icio.us provides an API to allow you to manipulate your bookmarks externally. This gives J.W. the freedom he needs, and also allows a way for external applications to access your data (e.g. Flock browser). This API is also used by blinklist.com, another social tagging site, to allow you to import your bookmark list from del.icio.us.
Mashups are about allowing your users to use your data (or their data that you are storing) on their sites. User like this because their site looks cool, and providers like this because it gives them more exposure. The big question of course, is this profitable? The answer I think is yes, although there is no evidence to support this. For those faint of heart, start small, see if your users like it, see if it draws more visitors to your site. I have some ideas for how you can track the success of your components, but that will need to wait for another entry.