In simple terms, a module is the backend interface/logic and widgets are the ascx files. When you create a module in Sitefinity, by default the dynamic module builder will create a widget for you to 'display' the data. It also produces some code-reference material so you can easily build additional widgets.
Based on the 25 word requirements, I would use one module and one taxonomy. You could use the default user system in Sitefinity and simply extend them with additional profile fields, you'd like to store.
Then create a Dynamic Module, using the Module builder inside Sitefinity, and create a books module that stores your info.
Then I'd tie users and books together by creating a new taxonomy, and adding that as a classification to both your books module and your users.
This would allow you to easily create book variations (hard cover, paperback, ebook) while still 'linking' them to the same title and it works multi-lingual as well.
On top of that it keeps everything as future proof as can be plus adds some possible future benefits. Your users will instantly work cross the entire Sitefinity system (think newsletters/forums) and similarly with the taxonomy you created, which can be instantly linked (filtered) to any content type.
I know a 'taxonomy' to tie everything together sounds strange at first, but it is a very powerful feature of sitefinity and allows you to leave everything 'out-of-the-box' and let the Telerik team do the heavy lifting for you instead of later on having to extend various areas of the Sitefinity system yourself in order to use your info with other content.