If I try to schedule an appointment for 2 pm, it requires me to not only hit the 2, but also select pm. I have never once had a meeting at 2 am. Shouldn't it know that?

Many of the readers of IT'S BROKEN are engineers, computer science students and business analysts--people who are or will be soon introducing new software to the world. If you are one of them, and haven't read The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity

When will it not make you put in the am? When some one takes a user perspective and changes the default to day time. And annoys the people who schedule meetings with the far east.
The point is that for people, the context of when you work is background ... generally not even recognized.
For poor dumb information systems, the context has to be surfaced and captured explicitly. So the solution is a default "normal working hours" record. PITA to configure, but can let most users just take the defaults. Perhaps even be clever and adjust as they consistently schedule meetings from 5-6 pm (after the default 5pm eod)
Nobody would get annoyed because the customized default would reflect the person's own history, and it would be easy for the user to change the system's default when it didn't apply. A little more work on the software side, and much less work on the user side!