The link you posted shows the real reputation, calculated accounting for all the rules in place. The reputation shown on the user page only shows an approximation that is stored in the database and continually updated but can get out of sync with the real reputation. Once in a while it’s synced back with the real reputation.
How can the real-time reputation get out of sync? One reason is when an old question where votes were acquired gets deleted. This won’t immediately reflect on the real-time reputation count (stored in the database). There are some other operations which may similarly modify the reputation without updating the database-based count.
The reason for this behaviour, as far as I understand it, is pure performance. Since the Stack Exchange software is a web application, it (usually) only runs whenever a user requests a website from it. This should of course be responsive. Performing time-intensive operations such as deleting a question and updating all its related database rows would directly reflect on the website’s response time, which is not what users want.
So the time-consuming tasks are deferred, instead only a perfunctory delete (or whatever) is performed.
If I understand correctly, the Stack Exchange team is currently trying to fix this behaviour by running such time-consuming tasks either in a background thread or on an unconnected service on the server.