Question About WebGL

Why do we need to unbind the buffer after its usage and why is this step optional(given in many a books) ?Is its function similar to free we use to delete the data stored dynamically(using malloc or calloc) in C program ???