As a developer, a person should not be ignorant of the versions of packages that should be used and are recognized as compatible for that version of Sitecore.
For Newtonsoft.Json, a developer might install WebApi, which Microsoft have defined with dependencies... But we try to replicate it in our own way? Without dependencies?
Microsoft dependencies state to pull in Newtonsoft.Json.... So say, then a developer uses that, and suddenly we have two packages, both containing Newtonsoft.Json.DLL.
This is the story that I've seen too many times and landed me in Nuget / DLL hell.
No, Sitecore doesn't use Nuget packages for some other things (Stimulsoft, Telerik etc), but it's not often I need to use those in my own solution anyway.
I believe we should only package Sitecore.DLLs, and it's the only thing we should be Nuget-izing.
I think that's where a problem lies.