I'm fairly novice with Arduino and interfacing with buttons/pots but I thought delays / loop interrupts were discouraged versus a reset-able counter variable?
They are if you have anything else that needs to be done at the same time. I would say they're fine if you have nothing else to do while waiting, or you need microsecond delays to generate a signal like in this case.