That’s a good question, that’s true I have more focused on the “how to” thant the “why”. There is a blog post on Salesforce Developer Blog about this: https://developer.salesforce.com/blogs/2018/02/announcing-unlocked-packages-beta.html
Hope this helps !
You’re right. If you have an object already in Production, deploying it with DCP will just flag the object and fields as being part of the package, but no data will be lost.
Also, if you delete a field between 2 versions of a package, data won’t be lost either because the field will just be marked as deletable:
So far I tried and yes, you can install a package whose test classes are not passing.
I started a conversation about it on the Success Community, so feel free to join and give your opinion there: https://success.salesforce.com/0D53A00003Tx6Eg