4
Yes, caching improves performance by reducing the amount of PHP code, including MySQL queries, that has to be executed to serve the page.
Caching potentially impacts security. If you cache a page whose content depends on which user is viewing it, that could result in a user being able to view data or access functionality for which he's not authorized.
This problem can be avoided by not caching that kind of page. As far as I know, the XOOPS core handles this correctly. I'm not sure if all the third-party modules handle it correctly.