Two reasons:
-Graphics applications need much more memory bandwidth to perform well. System memory is much larger in capacity but the negative of that is it can't be as wide. It's a traditional trade-off between speed and capacity. Therefore, it has its own dedicated memory with much wider paths and thus higher bandwidth.
-Sharing a system innately results in worse performance. If it shares with system memory, there has to be some way of conflict resolution and its nowhere near ideal. In purpose built systems like consoles(in other words, not general purpose) not only the developers optimize the setup to minimize this loss but cost limitations justify having a shared system with all its constraints.