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 levelling 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.

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.