(I already know that this answer will disappoint you - as it did disappoint me when I found it out)
The current algorithms around the tangle depend on a central node run by the Foundation, known as the Coordinator (or Coo). This node will publish a signed milestone transaction approximately every minute. The exact rules which tips will be selected for this are not public (and the Coordinator source is not open, despite the Foundation promising to publish it soon™ after they become a legal entity), but we can at least assume that every milestone published will (directly or indirectly) approve the previous milestone.
Each node will keep track of the latest solid subtangle milestone transaction, i. e the milestone with highest milestone index that has a valid signature from the Coordinator and where the node has seen all transactions that are (directly or indirectly) approved by it.
For determining confirmation state, the node will consider a transaction confirmed if and only if it is (directly or indirectly) approved by the latest solid subtangle milestone. This milestone is also used to compute the authoritative balances returned when you ask the node for an address' current balance.
Tip selection uses a MCMC algorithm where every node has a weight of 1, while the starting node is determined by the following rules:
For one of the two tips, the MCMC algorithm always starts at the latest solid subtangle milestone (That way, transactions will always approve this milestone, making the transaction a likely candidate for being chosen as a tip for the next milestone by the Coo).
When a transaction to reference was passed when calling the tip selection API (which is used by the light wallet to "promote" stale transactions), for the second tip the MCMC always starts at that given transaction
When no transaction to reference was passed, the second MCMC will start at a previous milestone. The milestone depth can be specified as a parameter to the API; the wallet always uses 3 but some other tools (like the transaction spammer) use higher single-digit values. So when the current milestone is 12345 and depth is 3, the second walk will start at milestone 12342.
The tip selection algorithm is also tweaked so that it never ends inside a bundle (in case the rest of the bundle has not yet arrived at that node). In case the selected tip is not a tail transaction of a bundle, the MCMC will "walk back" to the previously visited node that is a tail transaction. As in a valid bundle, the tail transaction directly or indirectly approves all other transactions of the bundle, this case cannot happen if the bundle has arrived completely, since the algorithm would continue walking towards the tail transaction in that case.
I hope this answers your questions. In case I missed anything, feel free to comment.