I'm not going to cover the creating of the XML feed itself here (there's tonnes of documentation on the website for this), instead I'm just going to explain how I ended up creating this:

In its simplest form, an RSS2.0 feed consists of the Rss Chanel (Chanel node), which contains the feed title, description and source ID, and a list of items that are in the feed:

For this I'm not really interested in the feed title, description or link, as I'm only displaying the items; so I'm only interested in displaying the title, publication date, description and title.
The first thing I did was create the basic control for each feed item. The markup is simply a header element containing a hyperlink to the item, the date and description, and another hyperlink telling the user that there's 'more':

Obviously this will just look a mess without the styling, so the stylesheet contains the elements:

And obviously I needed to add in some code behind to allow me to set the values:

And that's it! All that's needed for the control...next to nothing, if you ask me.
Next, I created the panel to hold the markup. There are several panels actually on the page (visit the SmartLiveCasino website to see what I mean) these are all hosted in a div with an ID of "sidebar" (because its the sidebar, funnily enough) - so when you see the CSS later, that's why everything is in #sidebar.
Anyway, the panel consists of two elements, a panelHeader, which contains the title, and a panelDetail, which contains the, well, panel detail. For my feed panel, the header simply contains a link to the Roulette advice hosted on the site. This is floated left, so that I can float the RSS feed image to the right, which itself contains a link to the Roulette Articles feed.
The panelDetail div is given an ID of rssFeed, and set to runat="server", so that we have access to the markup before its rendered.

Again, here's the CSS for the panel.

Obviously we're now up to the main bit of the panel...how to display the RSS feed. This is fairly simple, thanks to Linq! Before Linq, we'd be XPathing through the XML and jumping through hoops (well, not really, but it's far easier with Linq):

This code is very straightforward. First, we load the RSS feed into an XDocument (the rssFeedUrl and maximumRssPosts are set from the web.Config in the Page_Load method, and this is called just after).
Next, we use Linq to create an IEnumerable list of items in the feed. The Linq creates a new structure for each item it finds, and then will only 'Take' the top 'maximumRssPosts'.
Now we have a collection of the items, we simply cycle through them, creating a new control each time and adding it to the rssFeed. Once that's done, we do some error checking, and just stick a label into the empty box if there's been an error.
Yeah...okay, it's not too tidy, probably could be better (certainly there's a lack of error handling), but it works, so I don't care!
Since then, I've made the panel into a control in its own right (this is now on my Live TV Roulette site).