As per the legal requirement, we would like to restore exact content of any given page on the site at any given point in time (at least for 3yrs). How can we achieve this in Sitecore? is there any tool in market place for same?
Sitecore has versioning facility for each item. So whenever you want to modify the page or relevant data sources, you should ideally create a new version for that item so that the past data remains in tact and another version of the item gets created and would be visible in front-end when published.
Now if you want to rollback a change, navigate to the respective item and on the Publish Tab, click "Change". On the dialog box, choose the version that you want to appear by making sure that only that version is selected for "Publishable" as shown below
As per the setting shown in the screenshot, after publishing, the version 1 item will be available instead of version 2