Request scope is almost entirely useless in JSF. The request object is destroyed the instant the request has finished processing. A new instance - without your data changes - is constructed on the next request. Over and over again.
Use ViewScope or SessionScope.
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.