WP rocket does the required job by creating and serving cached versions of your pages,
It's not totally perfect when it comes to reducing js & CSS used tho,
Choosing the right theme and excluding the unused files/lines manually depending on your use would make it even lighter,
You can use it along a CDN, image optimization plugin and some plugin like Perfmatters to make a perfect combo and get an insane loading speed
Each one of them is just a piece of the puzzle and they all work together to get the best possible results,
Keep in mind that you'll need a good hosting no matter how your website is optimized to serve each page as fast as possible