yeh u r quite right ,y need to use custom tag when everything can be done be SimpleTag so simply... But since SimpleTag is added from JSP2.0 so what about the code written before JSP2.0.What if u come across them some day while maintaining somebodys code .So we must know how they work(there is a good explanation in HFSJ also). And its also on the exam .
The Simple tag have a simpler life-cycle than the old custom tag. In most of the cases Simple tags are easy to develop than the Custom tags, as there is normaly only doTag method is to be implemnt.
But the Simple tag handlers are not reused. So every-time it create a new object when it invoked. This may be extra burden, if that tag object is complex.
Secondly, Yo can not use the JSP as the body-content to the Simple tag. That means You can not have Scripting element processing in Simple tag.
In case you want to process the non standard body (tagdependent) instead of only passing it to the output Stream, it require extra effords in case of Simple tags. The bodyContent object in the give you the methods to return the body as String.