Soft resettingTo soft reset is to reset a game with an in-game method, such as a button combination. This is often considered safer than hard resetting, though it is not always possible to do.
Hard resettingHard resetting, in short, is turning off the game system and then turning it back on. It is often used when soft resetting is not possible, such as a game freeze. It is not recommended over soft resetting if soft resetting is possible.
On a Game Boy or Game Boy Advance system, hard resetting will also load the initial boot screen which makes the reset slightly longer.
UsagesSome glitches require resetting at a time where soft resetting is disabled (usually when the game is saving, for example in Generation I SRAM glitch and Generation II cloning). To perform those glitches, hard resetting is necessary.
In addition, luck manipulation usually involves a hard reset, exploiting the fact that the RNG depends on the number of cycles since power up, so they are predictable after a hard reset.
Reset fadeout delayThe Game Boy Player has a quirk where the reset button on the GameCube doesn't immediately reset the game. Instead, when the reset button is pressed, the screen begins to fade out, while the game continues to run. The reset happens only after the screen fades into black. Gambatte-speedrun emulates this quirk faithfully. The delay between the reset button and the actual reset is 37 frames, or about 0.6 second.
The consequence of this quirk is that the reset button can be, and in fact needs to be pressed earlier than when the player wants the reset to happen. For example, for the Pokémon cloning (Generation II), the timing of the hard reset is different on GBP or Gambatte-speedrun emulating GBP than it is on other platforms (e.g. Game Boy Interface).