As you mentioned in your message, the Bridge ID is composed of the Bridge Priority and MAC address. Since the MAC address is unique (under normal circumstances) there will never be a case where the bridge IDs will be the same between two switches. However, because Cisco gives you the option to change the MAC address of an interface on the switch, it is theoretically possible to configure the same MAC address on two switches thus making their Bridge IDs the same.
(As an aside, because a MAC address is actually hardwired into the electronics, it cannot be changed. However, when a MAC address is used, it is actually copied from the electronics into memory from which it can be used for switch functions. The changing of the MAC address does not actually change the hardwired value, but the value that is copied into memory.)
On older versions of Cisco IOS, if someone changed the MAC address, STP would use the manually configured address. If you configured the MAC to be equal with a second switch so that their Bridge IDs are exactly the same, then the STP process gets stuck and no root bridge is elected and all the ports of both switches are stuck in listening mode except the ones that configure with port-fast. No root bridge is elected.
In newer versions of IOS, STP uses the hardwired MAC address regardless of if it has been changed or not so this situation is avoided altogether.