A subscription allows a user to receive broadcasts from a subscribed address. Since broadcasts are encrypted, a subscription is a must-have, because the public key of the sender is required to decrypt a broadcast.
A Broadcast is encrypted with a key, that can be derived from the address it was sent from. To decrypt a broadcast without having the address requires a user to convert a public key to the address it is used for. After this has been done, the derived key must be created from each generated address and decryption has to be tried. This process gets harder with more active addresses being in the network but it is possible. Once a broadcast is decrypted, the sender address is known.