Architecture Overview
Sitefinity is built by having in mind several key concepts:
- Extensibility
- Interoperability and Integration
- Flexibility
First, Sitefinity is using the Provider model which allows you to store or retrieve data to/from different data sources.
Sitefinity uses heavily web services (web service model). This model allows the application to be integrated with wide set of applications and devices.
Since Sitefinity is Asp.Net CMS, it's built by following the Asp.Net concepts. If you are familiar with .NET, you are already familiar with Sitefinity. The following structure diagram should give you a good overview of the system main parts:

Just like in Asp.Net, the pages are made of masterpages and themes. The functional part can be built of different kind of controls - User Controls, Custom Controls, Module controls (interacting with the Modules or Services), as well as the award winning Telerik RadControls for Asp.Net AJAX.
For the sake of end user experience, the controls are named Widgets.
Modules
The Modules are depositories of content items - News, Blogs, Events etc. From a developers perpective, compared to Sitefinity 3.x, there is only one kind of Modules in Sitefinity. All of the available modules are inheriting from a Telerik.Sitefinity.Services.ModuleBase class. You will use the same class if you aim to create your own Sitefinity module. Each module can work with one or more data providers.