What if two public keys have the same hash？ What if two public keys have the same hash? Although the chance is very very small, I am still interested in what would happen.

Suppose that Alice makes a transaction to Bob using Pay To Public Key Hash (P2PKH) style signature script.

But Carmen has another public key, and the hash of Carmen's public key and Bob's are the same.

When Carmen turns on the Bitcoin wallet software, is there any extra balance?

Can Carmen spend the balance?
In your scenario, Carmen can simply see and spend the money as if it was theirs. 

The network does not have any way of distinguishing this event.