Fallback and receive functions version8

I found that in version 8, we explicitly use the keyword fallback for fallback function and there is a receive function also. How version 5 Fallback function differs from version 8 fallback() and receive(). Consider the following code:

receive() external payable {


fallback() external {


I have some questions:

1.The documentation at:link of version 8 documentation says that do not include white space in the receive and fallback functions.Kindly explain.

2.Can we use both receive() and fallback() functions for sending and receiving ether?

Somebody please guide me.