Now, this is a movie with a ton of flaws, I won't deny that but I'm not going to as nit-picky as some of the users here. Some people seem to enjoy movies but then later find flaws or plot holes or question some of the believability of scenes, then later decide they didn't like it even though they enjoyed the movie when they saw it, and throughout the course of 100 minutes, they were thoroughly entertained. Michael Keaton in this movie is such an unpredictable fascinating character that nobody can say they were bored. They may not think the performance is believable as a real person, but it wasn't boring.
I'm recommending this movie because I was entertained, simple as that. There was many problems I had throughout the film that were all solved by the end, but the ending created more problems if I took the time to think about it. But taking the time to think about it after the fact shouldn't affect my emotional response I had when the credits were rolling.
People blast movies like Sixth Sense for the same reason. By the twist ending, everybody in the audience were shocked. Their minds were reeling. They were entertained. Then, driving home, they rethink the movie with knowledge of the twist, and find all sorts of plot holes. Then they decide they hate the movie.
If you are entertained during the course of the movie, that's all that matters. Don't analyze everything and try to find problems.