As far as I know there is no application that can not fit into 1-tier. So in theory You do not need multi-tier everywhere.
From MSDN:
Decide if you need a separate business layer. It is always a good idea to use a separate business layer where possible to improve the maintainability of your application. The exception may be applications that have few or no business rules (other than data validation).
You may have different reasons to add extra layer and that may be for example:
- reuse and maintainability
- coupling and cohesion
- traceability
- caching
- scaleability
- security
All depends on specific needs. So You need to know Your trade offs.
Also good to know from MSDN:
A layer is a logical structuring mechanism for the elements that make up your software solution; a tier is a physical structuring mechanism for the system infrastructure.