Confusion with Serial Communication
Is it the same buffer that is used to store the incoming data and the data that we send back from the arduino?


there are two buffers RX buffer and TX buffer. 


  Is a buffer used for outputting data from the arduino? OR Is the output from the arduino buffered before sending it to Computer?


TX buffer holds the data until they can be send. Data are send from TX buffer by interrupt routine. 


  Can you please explain about the TX buffer overflow


TX buffer overflow doesn't happen, because it is easy to handle the situation.
The interrupt routine can send the data only at set baud rate. If the program fills the buffer faster then the interrupt empties the buffer, then the TX buffer fills, but the write function knows that the buffer is full and waits in a while cycle until there is space for that one byte to write.