If you're new to sitefinity's API, I recommend a slight tweak to the common approach. The "I'll just create a new one" is not always the best route, nor the easiest. That said, there are times when creating a module totally outside the realm of sitefinity is necessary. This is learned with experience and knowing what sitefinity does out of the box. I believe the most important thing to know is everything, EVERYTHING is based off of content. Everything. Generic Content is the most basic module to show this, so I will talk in regards to generic content and hopefully cover a lot of ramp up "how do I use this" time.
Each built in module is branched out into 3 places, effectively: The web.config, the ~/sitefinity/ControlTemplates/<module> and the ~/sitefinity/Admin/ControlTemplates. Within the web.config is an area that will greatly interest you, the <metafields> area. This allows you to say "you know, that generic content module is great, but I need 1 more thing in there", this is where you set aside a place in the database for it.
Let me stop here for a second. There's two parts working behind the scenes you may not be aware of: Content and MetaKeys. MetaKeys are suppliment info that hangs off of Content. How I've come to understand how sitefinity saves data is this. When you save a piece of content, its tossed into the database and an ID is created. From that ID, metakey values are saved so, say you have a content with an ID of 5823 (its not really this, it saves it as a guid) and after that save, your other metakey values get tossed with that ID associated with it. Effectively, you're saying to the API "hey, this content has this key, give me whats in there for it" and there you have it.
Sound complicated? Here's were some of the awesomeness comes in. Within the ~/sitefinity/admin/controltemplates/ there's two controls, ControlPanelInsert and ControlPanelEdit (guess what they do?) and on those user controls, there's a telerik control named ContentMetaFields -- this is where those values are pumped into those keys and vice versa. "How do I do that?" ...simply keep the ID of the control in the ContentMetaField in line with your metakeys defined in the web.config. That's it!
Displaying this data has the same approach -- make sure the control IDs line up. Take a look at ContentViewSingleItem.ascx under ~/sitefinity/ControlTemplates/<module> and drop a label, give it the new metakey ID and there you go!