both are buffer calls the first
ob_start(); creates a buffer, this gives you more flexablity over the final output as it can be edited that even includes cookies, you can call ob_get_contents() to retrive the buffers content.
ob_end_flush(); Ends the buffer (deletes it) and prints it to screen.