I seem to be getting reputation for no reason. I mean, when I accept a question, my reputation seems to go up by at least 2, mostly 5. I'm not complaining of course, just seems an easy way to abuse the system.
You gain 2 points when you accept an answer (except if you wrote the answer yourself), and you get 5 points if someone upvotes one of your questions.
To "abuse the system" here means that you write many questions that people upvote ("good questions", I guess, if upvotes are a measure of being good) and also questions that people want to answer. This is exactly what the system is for, then if you want to "abuse" it this way, by all means, do it.
You can easily check the reasons for gaining reputation on the reputation tab in your profile. In a more concise format, overview of reputation changes can be seen here: https://math.stackexchange.com/reputation
For some links leading to more detailed information about reputation, you can have a look here.
To answer also the additional question you asked in your comment: "Couldn't you abuse the system by just spamming accept answers?"
It is true that for each accepted answer you gain 2 reputation points. But if you were posting low quality question just for the purpose of gaining reputation, your questions would be very likely downvoted and you would be losing reputation. If you are asking interesting well-thought question, then your behavior is useful for the site, so I would not call it "abuse of the system". Moreover, you cannot gain a lot of reputation too quickly in this way. You can ask at most 6 questions per day, at most 50 questions per month.