Designing an application is a balance between making it easy to learn and easy to use. Something easy to learn may require additional instructions, work breakdown or examples. Something easy to use, on the other hand, assumes mastery of the domain knowledge an tool, and attempts to streamline the task at hand.
Consider tax preparation software – for the novice who does their taxes once a year (infrequent task, high consequence of failure), a wizard walks through a series of questions complete with “What is this important” and instructions about where to find the required information. A CPA, on the other hand, can go directly to the forms and fill them out quickly, having already mastered the domain knowledge and completing the task frequently. Each of these users would be lost or frustrated with the opposite interface.
Designing for the user requires knowledge of their context (domain mastery, frequency of task, how the task presents itself) which can only be found through upfront contextual inquiry. Sometimes you may have to create multiple interfaces for an application, or bolted on wizards to support the normal users and “pros”.