They are useless because, using modern methods of communication, governments can (and frequently do) communicate with each other directly, only informing their embassies afterwards to bring them up to date.
Such methods are quicker, cheaper, carry less danger of misunderstanding and can be made more confidential than sending messages via embassies.
They are also dangerous because our embassies abroad cause dangers of breaches of security. They provide easy targets for terrorists and hostage- takers. Enraged mobs may also be tempted to vent their spleen upon them, creating international incidents.
Also there is danger from foreign embassies in London which can be used as bases for spies, assassins, saboteurs, terrorists etc and can even be used as prisons for people who have been kidnapped from our streets! Diplomatic immunity means that our police have no right to search their premises.
The expense of maintaining our embassies is colossal. There are so many embassies and our diplomats are treated so generously (even their children are sent to private schools at our expense) that the total is huge. It is also unnecessary.
Then there is the dilemma of when to "recognise" a foreign government. To maintain an embassy in a foreign country and to accept its embassy here is sometimes to show a degree of approval of that government. If embassies did not exist then such dilemmas would be eliminated as "recognition" would be an unnecessary and outdated concept.
Of course there could be offices for the issuing of visas etc, but these need not have diplomatic immunity and could be staffed mainly by local residents.