Liveness properties in concurrent systems ensure that certain desirable events will eventually occur, preventing the system from reaching a deadlock or livelock state. These properties guarantee progress and responsiveness in a system, complementing safety properties that focus on avoiding undesirable states.