It's pretty standard across most sports to use half-points for lines.
You're right of course, there's no such thing as a half-goal or a half-point, but that's exactly why they do it: to avoid ties / pushes.
Say you want to bet over:
If you bet over 3 and they score exactly 3, your bet is a push*
If you bet over 3.5 and they score exactly 3, your bet loses because 3 is under 3.5
If you bet over 3 and they score 4 or more, your bet wins
If you bet over 3.5 and they score 4 or more, your bet also wins because 4 is over 3.5
The odds for the 0.5 are higher because you're taking a bigger risk (ie: you don't have the safety blanket of a push if they score exactly 3).
The 0.5 just ensures that, win or lose, the bet always has a result that's not a tie.
* check the betting site rules on how they handle a push / tie. Most of the time you should just get your stake back, but some places treat ties as a "partial dividend" instead where you actually end up taking a small loss.