I have mine set to 15 minutes for "untrusted members" (that could be spam bots that edit in a link later) and they're automatically promoted to 12 hours after some time.
I haven't set up DMs yet because I haven't seen a problem there yet.
So for my site, if you're new user with less than x amount of posts then you'll have only 30mins to edit your content. But once you get passed a certain post threshold then it's unlimited.
The reason we have it like this is to help preserve the content so it can help someone later on if they need it. However, because we don't offer a "delete" button, new users will sometimes edit the post to contain "Delete" or "Solved" which doesn't help anyone. We would rather have you reply to your thread saying you solved it this way etc.
Indefinitely. I get it that some things shouldn't probably be editable, but, I know I've gone years before realizing that I made a spelling mistake...or perhaps my opinion on something has changed. I like having the ability to edit for minor tweaks. But something that would be considered a major re-write, I'll just create a reply/new topic. One thing I can not stand is when a forum doesn't allow even a quick edit after you've pressed Reply.