@joe528:
Another very important reason not to use Box2D physics is tile borders: The usual way to add physics to tiles is to add a body to each tile. However, then, when the player goes from one tile to another, it may or may not “catch” at the seam between them. You have to work through this with changing the player body shape, setting the velocity every frame, and such as that.
This issue (as well as others, most of which are outlined in the article) has bothered me for a very, very long time. I’m using custom-made physics in my platformer game as a result.
And as for difficulty to implement, it’s not too difficult if you have a good guide. For example, it took me about one programming session (which for me is only about two hours) to get the initial version (walls, floors, ceilings) of platforming physics down with the Sonic guide I linked to. There’s no feeling like having a solid platformer physics base that you wrote yourself :D.
But! Platformer physics above the basic level can be a slightly advanced field of programming, and if you just want to “get it done”, you can try with Box2D. You just need to be aware of the pitfalls.