How exactly is transaction verified and confirmed in IOTA

What i understand is when i purchase a IOTA the source which i make my purchase is one of the node in the network of nodes.This node uses monte carlo Algorithm to pick two previous transactions at random (This transaction can be anyone eg. one which has been verified once or maybe 7 times verified but it is unconfirmed yet). Now there are two players here Snapshot and Milestone. (Milestone is transaction done by coordinator ) so if my transaction is verified by milestone directly or indirectly then my transaction is confirmed. this is there until coordinator has a role. now if we remove coordinator Snapshot comes into play? Is it ? and how ?

how much data each nodes have? how snapshot work? what is difference between confirmed and unconfirmed transaction in the tangle? how is it ensures that my node picked transactions at random and what is its importance? what are the rules on basis of which transaction is verified ? after how much verification in case of no milestone is transaction confirmed ?