Sometimes you are doing multiple changes at once, at which point it's better to have an apply. Take a game. Change the resolution, delay. Change the textures, delay, Change the shadows, delay. Change vsync, restart. I could wait the 30 seconds between every click twiddling my thumbs, or I could just click it all at once and restart the game.
This makes sense when applying changes is expensive. If applying the changes is cheep (or invisible while the settings dialog is open) then you don't need the confirm step and you can do it immediately or when the dialog is closed.