I think a good reason to start from scratch is when the language/framework/library you used turns out not to be the right tool for the job, or the general approach turns out to have major limitations.
What other good reasons can you suggest to do a rewrite?
What other good reasons can you suggest to do a rewrite?