What does a race condition mean?
It means, very simply that two things at the same time "race" for the result.

An example is a circuit with a Reset and a Set pin, if you trigger the reset, the output becomes 0. If you trigger set, the output becomes 1. If you first trigger set and then reset very, very quickly after it, reset will be seen, so the output is 0.

But, if they are both triggered at the exact same time, what happens?

If the circuit designer paid attention, there should be an answer, if that's important to the function. If there is no certain answer to that question, the circuit has a race condition, where the signal from the set and the reset "race" each other to see which one wins to determine the output.

The path with the least delay will usually win, but then you could see the race condition as the exact trigger in which the most delayed path is triggered exactly that much before the quicker one.

Many circuits, including logic building blocks inside ICs, have certain race conditions, but usually they are such that when you use the circuit the way it is intended, that you will not notice. So often when engineers say "race condition" out loud a couple of times they actually mean that it is also one that could happen in normal use, which would be a problem, because in a race condition normal operation cannot be predicted.

In software the term is also used, but often to indicate timing problems, or lock-ups. It is a similar principle, though. Often when you have two processes in a computer running independently, but using the same memory you protect that memory from being written by one, while the other is using it. If you don't they call that a possible race condition: One process could be reading a value that is just in the process of being updated, or both could be writing to it at the same time and then you don't know what will happen.