ValueMapValue vs Inject

I am trying to document my understanding on ValueMapValue and Inject annotation here in this blog.