How can I get my entry door to stay closed?
I had a door with many of the same issues. It turned out that the previous owner had done a shoddy job of door installation.

The first step I would recommend is to check the door to ensure that it is square. IF the door was not hung correctly, it could cause many of the issues you described.

It may not be the door itself but the door frame. If the door frame is out of square, you can try to adjust the reveal to remedy the situation. 

I ended up just replacing my door, as I wasn't very fond of the previous door anyways. It was an afternoon well spent. My house is much better insulated, as the new door actually has a decent R factor.