Regarding (1), yes a COW file system will (generally) behave "worse" that a non COW file system when space is limited. But, this is a design choice that makes sense for many use cases. Just to point out a few:
* Snapshots are virtually free.
* Writes are sequential.
* "Harder" to destroy existing data (block are not overwritten in place)
These design decisions are not made light heartedly.
Well, in that case, Windows can't do any better. In order to defrag a filesystem, that requires free space to copy and move files around. If that space isn't there (because the HDD is nearly full), there isn't much you can do.
These design decisions are not made light heartedly.