4 of 6 added 353 characters in body

This was basically answered in the comments, let me summarize the main points here.

Various ways of gaining/losing reputation are listed both in the help center and in this FAQ post: How does “Reputation” work? There are a few where the reputation change is odd:

  • If your answer is accepted, it gives you +15 reputation points.
  • If you downvote some answer, it means -1 reputation for you.
  • Since the only possible bounty amounts are even, if a bounty is auto-awarded the reputation change is odd. (More details on bounties and auto-awarding can be found in the help center and in this FAQ post: How does the bounty system work?)

Some additional points:

  • If the only possible reputation changes were by an even number, you would expect the total reputation of a user to be odd, since a new user starts with 1 reputation point. (Or with 101, if the user got association bonus.
  • A user cannot have total reputation below 1 reputation point. So even if somebody gets enough downvotes that would get them to negative numbers, only part of the reputation is deduced. (It is cut off after the user gets to 1 reputation point.)
  • There is also the daily reputation cap on reputation from upvotes/downvotes and suggested edits at 200 reputation points. That means that sometimes part of the reputation increase is not counted - if the reputation from votes and suggested edits would exceed 200 reputation points. (For example, from an upvote you get only 6 reputation points if you were already at 194 on that day.) However, this cannot influence parity, since the total is 200 reputation points.

I will also add that you can audit your reputation on this link: https://mathoverflow.net/reputation (It is similar to your reputation tab, but probably better if you want to check many various days.) There you can see your reputation after every day, when it was odd/even and how it changed.