I run a couple of free directories that use phpMyDirectory and my day job is with a large IYP so I am aware that there are no right or wrong ways to specify a directory.
IYPs are local search directories, so they start with a location, then they have categories and then business listings. These contain a phone number and address and maybe a website URL and email. You can't buy scripts for these, but some scripts may superficially resemble them.
Link directories are category centric and have a URL as a minimum. The rest is optional. Scripts tend to be for this market and they seem to focus on bells and whistles rather than allow the user to customise it.
I think it is useful to describe the business model and then look for a script that comes close to this model, rather than fit the model to an available script.
For example, IYPs usually have a default ranking based on seniority within a product family, e.g. oldest Platinum customer stays #1 as long as they renew. Oldest Gold customer stays #1 below the lowest Platinum, and so on.
Some business models give each listing its own page - the business profile page (BPP). At this point you need to step back and decide how can you best optimise the type of business that will be on this page and get that page to compete for a page 1 ranking.
If you want to have a default alpha sort then how will you deal with the AAAAAAAAAArdvark kind of names that will compete for page 1 in the directory.
Will there be different price points and how will they be reflected by way of features?
You will now begin to think about textual content and it will probably go far beyond a Description field. It might include product pages.
You may want interactivity, such as maps, driving directions, iPhone app, different types of downloadable files, etc.