JSON.net ContractResolver vs. JsonConverter
<p>I've been working with JSON.net for a while.  I have written both custom converters and custom contract resolvers (generally from modifying examples on S.O. and the Newtonsoft website), and they work fine. </p>

<p>The challenge is, other than examples, I see little explanation as to when I should use one or the other (or both) for processing.  Through my own experience, I've basically determined that contract resolvers are simpler, so if I can do what I need with them, I go that way; otherwise, I use custom JsonConverters.  But, I further know both are sometimes used together, so the concepts get further opaque.</p>

<p>Questions:</p>

<ol>
<li>Is there a source that distinguishes when to user one vs. the other?  I find the Newtonsoft documentation unclear as to how the two are differentiated or when to use one or the other.</li>
<li>What is the pipeline of ordering between the two?</li>
</ol>