Casual web developers will probably stay with webforms. you switch to mvc when any of the following are important enough to switch:
- You are unit test developer (use test first design) are tried of webforms "fake" and complex event model.
- Are writing lots of javascript and tired of id's changing, and want standard html components.
- Want better seperation of view and controller code.
- Want a ruby on rails coding experience (mvc is easier with a dynamic language like ironpython, ironruby or javascript)
- You are commited to the mvc pattern, and want a supported platform
- You switched to jQuery (see #3)
- Your web site is going to be large and complex.
What are the disadvantages?
- No UI designer tools for it at this point.
- Requires good understanding of anonymous function and lambda
expressions to take full use of it.
- Coding is harder with a highly typed languages like c# and vb.net,
but dynamic style features are being added to these languages.
- Requires you know the mvc pattern and has a littler longer learning
curve.
- Doesn't attempt to hide the stateless nature of a web site from the
coder.