Atmega328p Power Saving Techniques

I built an attiny-based remote control a while ago, and I seem to be using different sleep code. This is what I use:

		// Wait for button to be pressed
		do 
		{	
			set_sleep_mode(SLEEP_MODE_PWR_DOWN);
			cli();
			if (PORTB & 0b00000100)
			{
				GIMSK = _BV(INT0);
				sleep_enable();
				sei();
				sleep_cpu();
				sleep_disable();
			}
			sei();
			uint32_t now = micros();
			while ((micros() - now) < 5000) {}
		} while (PORTB & 0b00000100);

Ignore the PORTB stuff, it checks that a button isn't pressed. I can't remember why I used sleep_enable(), sleep_cpu() and sleep_disable() rather than sleep_mode(), but I expect there was a reason (possibly to do with using an interrupt to wake up from sleep mode, but maybe not).

What does the current drop to if you don't use the watchdog?