TL;DR - if your MMR is high for your league ranking then you gain more LP. If your MMR is low you gain less. It tries to adjust your league ranking towards your MMR by weighting the LP gain/loss from matches
LP is a secondary rating system along with MMR/Elo. League of Legends still uses the most stable system for match making called Elo Rating System. Basically explaining Elo system,
Opponent teams average MMR = OTMMR
Your MMR = YMMR
- if YMMR == OTMMR you gain 20 elo.
- if YMMR - 50 > OTMMR you gain 10 elo.
- if YMMR - 200 > OTMMR you gain 6 elo.
- if YMMR + 50 > OTMMR you gain 30 elo.
- if YMMR + 200 > OTMMR you gain 34 elo.
The numbers are arbitrary check here for the real formula. Numbers are to give you an idea. This happens in the backgorund (before LP system this was shown directly). Riot still uses this system for rating players but RIOT wanted to control the jumps between leagues. So they made the LP system. There are advantages and disadvantages of LP system which I'll not cover.
LP system is calculated with the input of MMR along with some other calculations which are not public. Since I worked with Elo Rating System and played LoL a LOT, I can give an estimation how it is calculated.
Riot didn't want players to switch too fast or too slow between leagues so LP is the rating system balancing this. Let's say you are 1820. If you win the game let's assume you'll get 40 Elo. So if you win you're MMR will become 1860 and you'll be in Platnium League (according to old system). If you lose you'll directly drop back to gold. In LP system you'll be ~Gold I: 50LP (1820 Elo). If you win 2 games you'll become 100LP (1920 Elo). You made 3w/2l that makes 1 win gain. Your MMR will be 1960 and you'll be plat V. This way the system can say this player does belong to plat league.
Why do you get +x LP when you win and -x LP when you lose?
Since LP is based on MMR if users LP and MMR are balanced the above example will be correct. There are a few cases makes LP and MMR unbalanced which makes gives LP advantages over MMR:
(assume you'll get 20LP next win)
you have 0LP you lose twice win once. (your LP is same but MMR just decreased) So the next win makes you win ~16LP
you have 0LP and your in the edge of your league say Gold V. You can lose 1000 matches and still be in Gold V. The first win you get will give you 1 LP or so...
you have 100LP you 2w/0l then you quit a match. Your MMR increased by 2 wins but you still have 100LP. The next match you win(after the promotion series) you'll gain ~28LP.
if you didn't play for a long time and LP decayed. This happened to me. My MMR was around 2.5k I didn't play for some time. I decayed down to Plat III. I gained 60LP next win. After promotions I jumped from Plat III to Plat I since my MMR was so high for my league.
you left match during queue. You lost LP but the MMR stayed same so you'll gain a tiny bit more LP next few matches until your LP and MMR are balanced.
There are some extreme cases between Diamond I - Challenger. Riot uses a special LP calculation system there to avoid challenger number increase its capacity.
I can't positively say such thing exist but probably in LP system win streaks matters and allows you to jump league faster but it doesn't matter in MMR system