In my mind it is always nice to have miles and points for when I travel.
There are occasions where I need a last minute flight and all they have is first class (due to a delay or mechanical issues).
Using hotel points during peak travel seasons is another reason.
It also depends on how much spending you do.
But the main reason is for emergencies, some examples which I said above.
However if you are able to plan everything far in advance then 2% cash is great since you should also have plenty of time to find deals.