why return 0 is written at the code end?

#include <stdio.h>

int main() {
    // Step 1: Print a message to the console
    printf("Hello, World!\n");

    // Step 2: Return 0 to indicate successful completion of the program
    return 0;
}