The theme can be changed without modifying functionality.
Reuse common features across multiple projects.
Separate presentation from functionality