Sonyflakes are generally more useful in massive scale environments as you won't run into conflicts due to the "machine-id" part (which defaults to the lower 16 bits of the private IP address).
There are more differences (128bit vs 64bit, rng vs time-based), I think they have different use cases.
More structure actually increases
the chance for collisions. Because at that scale the chance of bit errors is dominating the equation. More rng protects against that.
Not exactly,
They can be sorted, by default, only down to a millisecond, but you can use a monotonic generator to have them sorted, even if more than one Ulid is generated within a millisecond.
Other than that, they have 80 bits of randomness, enough to be unique even if millions are generated per second.
There are more differences (128bit vs 64bit, rng vs time-based), I think they have different use cases.