Recording wins/loses is fairly swift, thats easy client side info. The thing is there are hundreds or thousands of games at a given moment sometimes. It would crunch their servers pretty hard to run the algorithms constantly for real time MMR changes. So they dont. Instead they update ever so often after a batch of calculations.
Now there are reasons you can get wins in certain competitive systems, and go down in your respective match making value. Its because the environment your in changes around you.
Say you start play the new exciting (fictional) sport of "Finnicky." its played with 6 people, 2 ping-pong balls, and single 1 meter long stick. Dont ask about the rules, its very complicated.
So youre really into this Finnicky and you play at the pro level. Youre in a division with 24 players where you have played 11 games and won them all your 11/0 win/loss. You are the best, youre matched up against the best, its great and stuff... You take a 2 week break from the game, and all of a sudden there are 12 new players in your division, and 2 of them have surpassed you. One is 15/0 and the other is 27/1. The second guy lost his very fist game but then went on a 27 game winning streak and thats much better than your 11 win streak. You are no longer "the best," and when you win your 13th match, your stats are updated in the Finnicky pro league records and you see your "rank" go down. Everyone is trying to beat the two who surpassed you now, YOURE trying to beat them too.
I could go on, but I think you see how if other people are performing very well, compared to you, that even though your not doing bad you could still lose standing in a division. I dont know their algo. and it probably dosnt work like that, but that system is one way to fall despite still doing well.