I've came across many articles and posts that discuss the topic of peer dependencies but haven't really grasped the concept. From what I understand, if coffee 1.0 depends on milk 1.0, I will have coffee 1.0 listed in my package.json file under dependencies and when I install my dependencies, milk 1.0 will automatically be downloaded in the node modules. If this is the case, what purpose do peer dependencies serve? In addition, what are plugins? All definitions explain them in terms of a host, but what would the host be in consideration of my aforementioned example?