1) Persist form just saves the entire form into a single session variable so you don't have to save them all individually.
2) The pp confirm page should have the process transaction server behavior as well as save in database for paypal. Authenticate is the first step in the process before you can process.
b) Yes and to calculate shipping or tax costs based on the shipping information
c) Yes as well as do the process server behaviors for credit cards
b) confirm_cart is for shipping calculation
d) By default it is guest checkout. You can add login and pre-fill the fields as well as save the UserID from the session into the orders table if they choose to log in.