There's quite a lot of stuff to factor in.

Let's start with your first question. The difference betweens a 3 star player and a 2 star player is the quality, a 3* player generally has better overall stats than a 2* player. If a 2* player is more expensive than a 3* player, it means the 2* player is a faster trainer.

When you get promoted, you will lose a star but your quality stays the same. This is just to reflect the level of quality you are up against