If a user is already a member of the role when they purchase the cart adds the purchased days to the end of the expiry date or the purchase date whichever is the later. If role expiration is left blank the role will not expire until you remove the role from the user.
For example, if a customer orders a 1 year subscription (example on Jan1, 2010) their expiry date for that role will be Jan 1, 2011. If they then order a product that comes with a free 90 day subscription, on February 1, 2010 the cart will update their expiry date to April 1, 2011 which is 90 days from their current role expiry date.
-Scott