title: What's the difference between a ViewModel and Controller?
body: <p>What are the responsibilities of one vs the other?
  What kind of logic should go in one vs the other?
  Which one hits services and databases?
  How do I decide if my code should go in the viewmodel or the controller?</p>
  
  <p>For the record, I am using ASP MVC, but since the question is architectural, I do not believe it matters what language or framework I am using.  I'm inviting all MVC to respond</p>