I find the difference between 「広める (他動詞) 広げる (他動詞)」 and between 「広まる (自動詞) 広がる (自動詞)」 to be complicated.
Can someone explain?
The 大辞泉 entry for 広がる explains the difference between 広がる and 広まる in the 「用法」 section:
To paraphrase, 広がる describes something spreading out naturally, like a scenic view or a wildfire, whereas 広まる describes something spreading as the result of an intentional attempt to spread it.
広がる also has the meaning of physically opening up or being unfolded.
This is how I think it is:
I think to 広げる is to spread out something like a blanket or a mat or your arms, the reach/extent is increased.
For 広める I think it is to spread things like stories, gossips, and the reach/extent increases because the same information is recreated in other places.
But how about "to broaden vocabulary"? I think it belongs to 広げる, the vocabulary stays in one person's mind, and its extent is increased (within itself) instead of being reproduced to other people.
How about spreading a virus? I think both 広げる and 広める can work.
If you are thinking of the spread of a particular influenza virus, then we can think of that virus as an (one single) abstract notion that increases like a blanket. (this is the 広げる case)
We also can think of how it spreads by replicating and creating new copies of itself. (this is the 広める case)
「広める・広げる」 are transitive (他動詞), 「広まる・広がる」 are intransitive (自動詞). It's really as simple as that. 広める and 広まる have to do with 'spreading', so the first is 'to spread (something) out' and the second is 'to be spread out' (or 'to spread out' without an object). 広げる and 広がる have to do with 'widening' or 'expanding', so the first is 'to widen (something)' and the second is 'to grow wider'.