Все эти sleep и delay можно использовать в многопоточных OS, когда один поток уснул, но работает другой. Тут же это как то не очень. Часы, таймеры. Хотя если задача только ждать и больше ничего делать не надо, то можно. Но опять таки, если потом добавлять новые функции, всё равно приделывать.