Yeah, I think difficulty making an IMAP connection is one reason. I think the biggest reason has been to decorate more features on top of the backing email service, like adding Snooze support to an arbitrary IMAP account (so the server can un-snooze a message at the scheduled time).
That being said, there are security/privacy implications to that model, and I wouldn't personally use an app that works this way. That's why Mimestream was built as a traditional client.