Pokémon Diamond and Pearl/Iron Island

Iron Island is where you'll get a rare egg so you need an empty slot in your party. No HMs are needed. Exit your boat and climb the stairs into the cave.

You can get some good experience leveling up. You will be attacked by a lot of Graveler and that's new to your Pokédex. Ice and Water attacks will make short work of the enemies. There are also some trainers and items found here.

Note also that you will have a companion who will heal you after every battle, so feel free to battle wild Pokémon as much as you want.

Getting through iron island
Here's what to do for clearing the cave:
 * Go down the eastern flight of stairs.
 * Climb upstairs, then east, then downstairs, then south, then up the eastern of stairs, down the elevator.
 * Go down west set of stairs, get partner.
 * Take the first path south, fight some trainers, then continue south, then upstairs, then southward to fight a handful of trainers, down stairs, up stairs,beet team galactic and down the elevator.
 * This gets you the Riolu egg. Go through the cave door, up the elevator, and out of the cave.