delayMicroseconds to millis

amazing that you dont even need to run the code to debug it. i have been running it like this and its been working but ill take your word with the delaymicroseconds and im only going to be calling it every 30 seconds anyways i just didnt know if it was a bad idea. ive been running it without delaymicroseconds or any delay besides the 30 seconds delay and its been working. does it really need the delay? what was the point of using it?

unsigned long WaterWait = 30000;
unsigned long Waterdelay = 0;

int trig = 12;
int echo = 11;

void setup()
{
  
Serial.begin(9600);
 pinMode(trig, OUTPUT);
 pinMode(echo, INPUT); 
}
void loop()
{
  long t = 0, h = 0, hp = 0;
  digitalWrite(trig, LOW);
 if (millis() - Waterdelay > WaterWait) {
  digitalWrite(trig, HIGH);
  digitalWrite(trig, LOW);
  t = pulseIn(echo, HIGH);
  h = t / 45;
  h = h - 5;  // offset correction
  h = 35 - h;  // water height, 0 - 50 cm
  hp = 2.7 * h;  // distance in %, 0-100 %
  Waterdelay = millis();
  Serial.print(F("The Water Level Is At "));
  Serial.print(hp);
  Serial.println(F("%"));
 }
}