Depends on how much content is in each of the widgets. If one of the widgets is a datagrid with thousands of rows, a separate page would be better. If the widgets have a smaller amount of content, one page would work fine. Keep in mind that having one page with all of the widgets and conditional visibility means that all content will load when the page loads, no matter what the conditional visibility is. If this is not what you want (for security reasons perhaps), then use separate pages.
In my opinion, from a developer perspective, maintaining one page instead of several pages would be preferable.
Hope that helps,