(1)While designing JSPs under what circumstances do we use Tag Libraries.
(2) Is Model View Controller the best artitecture for a JSP ? Is there any better option ?
The whole idea behind using tag libraries is to avoid cryptic coding inside your JSP. On top of that you can create your own custom tags with your own semantics. It becomes very handy if you want your presentation layer loosely coupled with business layer. Second in some cases your JSP developers are not very comfortable manipulating full flash Java objects inside the JSP, although I think the second point is so ironic (we all sing the rap from sun.) In my personal opinion setting JSP directive is so tricky (most of the developers overlooked it), and if some one knows how to use these page directives correctly, he/she can easily manipulate Java objects in JSP (my 2 cents)
I don't know either MVC is the best architecture for a JSP, but so far it has been really successful for common web centric applications. I bet there are situations where there are patterns that are better than MVC.