separating signature from event allows to create anonymous events without additional requirements such as secp256k1 library. as the signature can still be included in uri, i dont see any disadvantages.
more compact format also allows to handle part of event without json decoding, due to specification how event id is calculated:
[
0,
<pubkey, as a lowercase hex string>,
<created_at, as a number>,
<kind, as a number>,
<tags, as an array of arrays of non-null strings>,
<content, as a string>
]
prefix: 4 bytes
pubkey: 64 bytes
separator: 2 bytes
created at: 10 bytes
separator: 1 byte
kind
tags
content