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 pokedex. Ice and Water attacks will ease you time in the cave. 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 Pokemon as much as you want.

Crossing the Cave
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, and down the elevator.
 * This gets you the egg. Go through the cave door, up the elevator, and out of the cave.

You will encounter Steelix at some point in the cave. Riolu turns out to be the pokemon from the egg. He will later evolve into Lucario.