When I got married, my rehearsal took a good hour because the priest walked us through the ceremony twice. I was extremely glad for it, because I'm a cry when I get emotional (any emotion, good or bad), and I did this really awful sounding sob-laugh the first time I tried to say my vows. Having gone through them a couple of times in a situation that was almost like the real deal kept me from doing anything quite that ridiculous during the actual wedding. I still cried, but it was much more graceful.
It also gave our two readers, who had never been inside the church, a chance to practice their reading and get a feel for it. And the priest explained where we were supposed to go at what times during the ceremony.
I ended up inviting everyone to our rehearsal dinner, just because most of our guest list was not local (including us, since we got married in my home city rather than where we actually live), and some were coming from really far away. We wanted an extra, less formal chance to see people. I think probably about half the people we invited made an appearance, which was really nice.
In general, even a simple wedding can be surprisingly complicated when it comes right down to it, and it's more meaningful to be in (and to witness) if the people participating in it have at least a basic idea of what they are supposed to do and say. And the rehearsal dinner, at its most basic, is intended to provide hospitality to people who have taken time out to attend your rehearsal. It can be bigger than that, but in its simplest form, it's just the wedding party going out to a restaurant.