In
JSF, the most commonly-used rendering choice is to create web pages. Web pages are HTML and HTML is text. So getAsString (or toString) is necessary to convert non-string objects to text.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.