You know, if porto weren't selling players for high sums every year, they wouldn't be able to stay profitable. The money that both porto and Benfica have been making in the last few years helps to keep them in the green and without it they would have trouble even paying wages.
That's why they keep buying cheap youngsters and then keep selling them a few years later. Going off and buying a 15-20m player is not possible for teams in Portugal.