Of the 13 games from 2005 I've played, Pokemon Emerald sits at 6th.
Personally, I prefer Ruby/Sapphire over Emerald as I'm not a big fan of Scott or the post-game Battle Frontier. I DO think the coolest thing about Emerald are the double battles and how you can team up with Steven on Mossdeep Island at the Space Center (though I think it's kind of dumb he's a "secret" boss and not the Champion. Wallace, the Water gym leader from R/S is the League Champion, and the Sootopolis City Gym is ran by Juan and honestly, no Champion should have a single type, but that's another thing I dislike about Emerald).
And while I appreciate you getting to choose between Latios and Latias you want to spawn once you become Champion, getting a lv. 70 Rayquaza as early as you can in Emerald kind of makes the challenge not all that much. Instead, I wish he was 45 like the others because catching Groudon/Kyogre being roughly at the same level in their respective games and be a viable team member for the final Gym/Pokemon League. (And yes, I know you catch the opposite at Level 70, but that's more of an endgame thing and at that point, there's really nothing left worth doing).
Overall though, the third gen is the last gen of Pokemon I truly love. While I do agree the adventure goes down in quality once you go out to sea post Lilycove/Team Hideout (which is super fun!), it's still an overall great time. Like all three Pokemon gens I hold dear, I always find the opening hours the best. So in this gen, I would say by the time you finish Dewford Town is when the magic gets a little lessened for me. And because it's a Pokemon game, I gotta drop my preferred team:
With the exception of choosing Torchic (which, for me, all gen 3 starters are good, unlike the previous two, but I'm always partial to Fire types for whatever reason) and catching the given game's Legendary, all the rest of my final team I trade in from another game:
Metagross (from Beldum) and Salamence (from Bagon) are always locks, so no matter what, I will always have the same half of my final team (including Blaziken). To provide some varied typing, I'll also try to bring in Raichu (from trading Pikachu), and Crawdaunt (from trading Corphish). But along the way, at one point or another, I typically will make the effort to pick up a Taillow, Ralts, Shroomish naturally, and even trade in a Skarmory and eventually when I hit an appropriate level to switch them out for my choices above. However, if I'm lucky enough to have found an alternate Legendary (like the aforementioned Latios/Latias) from a previous playthrough, I'll sub out one of the others to ensure the Dragons are brought in.
Meaning: My ultimate Dream Team of gen 3 is:
Blaziken (Fire/Fighting)
Metagross (Steel/Psychic)
Salamence (Flying/Dragon)
Groudon (Fire/Ground)
Kyogre (Water)
Latios/Latias (Dragon/Psychic)
- [Rayquaza (Dragon/Flying) when not available]
To close, as always I want to give my digital fist-bumps to my fellow voters! Shoutouts to @Shoulderguy and @bruno_saurus!