RemoteEvents are used to fire events between the server and the client. The client cannot communicate with the server and vice-versa using mere scripts, as the client cannot access its contents. Thus, Remotes are used.
They are placed in ReplicatedStorage, where both the server and client can access the contents. You can use it to fire certain events when you need it. For example, when a button in a client is pressed, send the server a request (Fire the RemoteEvent) for it to send everyone a message.