"I might have arrived at work on time if I hadn't got caught in a traffic jam"

This is the only example CapK gave that couldn't use either "may" or "might". In this context (past tense) "might" indicates a known result contrary to fact. The speaker is saying that the traffic jam prevented his arriving at work on time but he isn't sure whether other things would have prevented it if it hadn't been for the traffic jam. To say, "may have arrived at work on time..." indicates that the speaker isn't sure whether the arriving at work on time happened, not something one would say about one's own arrival at work.