Struts should be used when any or some of the following conditions are true:
A highly robust enterprise level application development is required.
A reusable, highly configurable application is required.
A loosely coupled, MVC based application is required with clear segregation of different layers.