In EPiServer 7 there are several ways to design and implement features and because of such a wide scale of ways to do it, it's often hard to find the most suitable way for specific case. As a developer/architect perspective these are the most important reasons why I prefer to use blocks:
- Blocks help defining independent elements, which can be designed and implemented separately from rest of the elements and pages.
- Blocks can be used several ways, which makes them really flexible.
- Shared blocks as global blocks that can share information across the site.
- Local blocks which are more like content holders or group of properties.
- As a partial view. So the block is constructed in page's constructor.