Three main reasons
1. The ratings were dropping.
2. Many members of the cast and crew wanted to move on to other projects, Add to the fact that many contracts were about to expire and they didn't have plans to renew them, like Rose McGowan.
3. The merge WB-UPN, now called CW, didn't think Charmed fitted in the concept of the new channel.
The third one is odd because now CW has a reboot also named Charmed.