What you are really asking is what is the benefit and risk of progressive disclosure in a web form design.
Benefits
The benefit of using progressive disclosure is that you lower the user's cognitive load by only showing the fields they need to complete their task. As they enter more data, more fields may be required, but they only have to examine and interpret those fields if it is necessary for task completion.
As Jakob Nielsen writes:
In a system designed with progressive disclosure, the very fact that something appears on the initial display tells the users that it's important.
[...]
Progressive disclosure [...] improves three of usability's five compontents: learnability, efficiency of use, and error rate.
Other benefits to progressive disclosure are:
- Clean, simpler, more productive interfaces (a godsend for small displays)
- Important content is prioritized by giving the initial focus to the most common features
- Less important content is hidden from view so as not to confuse visitors
- Time is saved if scrolling is reduced and fewer refreshes are needed
- Fewer errors occur because novice users will take easier, more manageable steps
Drawbacks
The drawback to this approach, however, is in the design and implementation.
Luke Wroblewski is fond of a particular Charles Mingus quote that applies in this siutation:
“Making the simple complicated is commonplace; making the complicated simple, awesomely simple, that’s creativity.”
In a UX Matters article he writes about the complexity of simplicity. Progressive disclosure, or as he calls it "gradual engagement", is the way a complex workflow can be "perceived" as simple by the user. Achieving this perception is hard:
In order to present the right user interface to the right user at the right time, designers must track multiple types of users and their various states, then map those contexts to an appropriate presentation of features and content. This, of course, is a non-trivial challenge and, as a result, is often done poorly. If the logic is not thought through completely, some users end up with too many options, while others feel they have too few.
Other drawbacks include:
- Accessibility can be tricky, as in the case of helping screen readers navigate to page sections
- Page-loading times could increase because of the size of preloading content
- Client-side technologies like JavaScript (Ajax), CSS3 or Flash could be disabled by the user (so you must take into account graceful degradation, which could add to the development time)
The Good News
The good news for you is that the main drawbacks to progressive disclosure are most prominent in applications or complex interactions, not transactional forms.
In your case, you are describing required fields that are only required if a particular state exists. You do not have any problem defining what the "right user interface" is for the "right user" at the "right time." Your business rules should clearly answer all of those questions.
The implementation challenges with regard to accessibility, page loading, and client-side technologies can be mitigated and tested.
Update: