There are four area types for OSPF:
An area which allow only LSA type 1,2 and 3, this area usually have one "way" out, which is through the ABR, but this is not must.
A Stub area can't be a transit for virtual-link but we can use a GRE tunnel instead.
A Stub area cannot have an ASBR
Area 0 (backbone) cannot be a Stub
LSA type 5 describe external routes, but are not allowed in a stub area, so the routers in the stub area can connect external routes via default route which will be injected by the ABR.
Every Router and the ABR should be configured with area x stub
Even more strict then stub area, totally stub area accepts only LSA type 1 and 2 all other LSA's, including LSA type 3, are prohibited.
Config on every router in the area and on every ABR using the command Router(config)#area x stub no-summary
NSSA (Not So Stubby Area)
Very similar to a stub area but allows an LSA type 7, which describe external routes, hence an ASBR can reside in this area and inject external routes.
Using the command Router(config)#area x nssa
Totally NSSA (Not So Stubby Area)
Similar to NSSA beside that it is not accept LSA type 3
Using the command Router(config)#area x nssa no-summary
The target of the area types is to limit and reduce LSA flooding and by that optimize the routing table for routers in the specific areas.
All areas filter type 5 LSA's!
The totally one's (Stub and NSSA) also stops LSA type 3!
The different between Stub and NSSA is that NSSA allows ASBR to inject external routes using LSA type 7 (unlike the normal LSA type which is type 5).