Don’t get me wrong, I use Beets for my entire library, but it doesn’t solve any of the issue OP has. It does not get metadata from streaming sites or anywhere else, but same as Picard from Musibrainz. It does not allow to manually change metadata of music you are importing. On the contrary, for that Picard is the better tool as it allows that.
There are not many advantages of using Beets over Picard, apart from CLI, and especially for the OP use case.
Don’t get me wrong, I use Beets for my entire library, but it doesn’t solve any of the issue OP has. It does not get metadata from streaming sites or anywhere else, but same as Picard from Musibrainz. It does not allow to manually change metadata of music you are importing. On the contrary, for that Picard is the better tool as it allows that.
There are not many advantages of using Beets over Picard, apart from CLI, and especially for the OP use case.