The command causes a certain part of your system to do something that has not been done, yet. It points into the future.
The event reports about something that has already happened. It points into the past.
When you write software, the command is a value object contained in the request that the client sends to the server, including the data that the server needs to execute the command, e.g. in the case of "Book a hotel room", the command contains the arrival date and the type of the room. Without the command, the system wouldn't know that you really want to book the room.
The event would be the message that goes out to other parts of the system, e.g. to a notification policy that sends you an email confirmation for your booking. Without the event, the notification policy wouldn't know that a booking has happened and that it needs to inform you.
Does that make sense? The command adds value because it clearly expresses the attributes needed to execute it (e.g. date and room type), the event adds value because it contains info about what exactly happened (room was successfully booked, or booking request was queued, or booking was denied because no room was available).
Cheers,
Matthias