So, basically, for people who are trying to make new packages, not having to play by the rules of package dependencies gives you a freedom to try things quickly, and if stuff is broken, you maybe don't have to care right away.
A bit like how since Javascript isn't strongly typed, if you haven't finished refactoring all the functions you can still try out some changes.
But when the time comes to make a real package for non-packagers to use, surely nobody else wants to go through this hassle.