Functions of edi software.

Technically edi comes down to imports/exports to/from your system and some data communication.
It is good practice to keep this import/export as simple as possible, and to concentrate on the impact of edi on your system and organisation. You will want ONE import/export in your system (for each information flow).
You don't want to handle all the edi details in the import/export module, like you don't want to handle the logic of printer drivers in your application.

What edi software should offer is:
Yes, this can be handled in (the import/export module of) your system, although you'll probably get a large import/export module. However, it might get really nasty when connecting yet another trading partner who uses the 'same' edi messages. You might end up with a lot of edi translator functionality in your system.

Basically edi software works as a buffer between your system and edi - the standards, versions, MIG's, dialects, code lists, etc.