Yes, but you actually have to specify what it is that you want to restore by setting a control field on at least the top level of the relational hierarchy, such as the Account, which will recover that Account and all its Contacts, Opportunities, etc. You can recover any record to any point in time using the secondary backup table that contains all the prior versions of every record. You can be selective about what fields you want to recover. There is no option to push a single button and recover everything because that is an implausible use case in practice. Salesforce.com is not a Master File that you would restore to yesterday, it is a living database of changing data from many people that would be very unhappy if you restored the entire dataset back to a point in time.
Yes, Windows Scheduler or UNIX cron or any other job scheduler is normally used to initiate replication or integration jobs. The web client is used to set up and test the job, but is not for normal production job scheduling. The command line interface is very easy to run from any scheduling system.