Gar is incredibly overrated, and needs luck to do anything. It needs cray trolling to realistically threaten stuff, or it needs to do something like catch an explosion or wall some niche threat like persian, all of which are improbable against good players. It's better to just pick a pokemon who can do its job reliably every battle, rather than a pokemon who does something amazing once every ten battles. I'd only ever pick gar if I was countering a niche pokemon on my opponent's team in a tourney set or something.
The only things bel and eggy have in common are the grass typing. Eggy is a defensive pokemon who sleeps and booms. Bel is a frail offensive pokemon who threatens every switch-in in the game if you include chain-switching. They're not similar at all. Without explosion, eggy is mediocre offensively until the late game where there are less pokemon to switch into it. By that point, it has likely taken a beating or boomed (or even taken sleep, though it shouldn't). Bel has offensive pressure all game, and its main weakness, its frailty, is mitigated by good prediction and wrap switching. Not saying one is better than the other, but they're completely different other than the grass typing.
Jolteon is BL in ability to me. It can do something every now and then, but can be countered be good play and there are better options. It has virtually no offensive threat until lategame when stuff is down, but at that point a lot of stuff has the same rate of success as jolteon. People seem to have this idea that electrics steamroll everything when grounds aren't around, which isn't true at all.