title: JSON.net ContractResolver vs. JsonConverter
body: <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>