A.
both are the same, just implemented in a different language.
B.
with Go-Ethereum you get a real blockchain node where you can create your own local private network, connect to Test-Networks or the Main-Net, while with Ganache you get an in-memory blockchain simulation.
C.
with Ganache you get a real blockchain node where you can connect to the Test-Networks Rinkeby and Ropsten.