At least as it's normally used, stacked memory is not the same as on-chip memory. Stacked memory is when a separate memory chip is "stacked" on top of the CPU inside of the same package.
This lets you use a (cheap) bulk DRAM part, in conjunction with an (also usually pretty cheap) logic part.
There are two obvious alternatives. One is basically the same chips, but in separate packages. For large items (e.g., DVD players) this is perfectly fine, but for things like MP3 players and cell phones, stacking can save quite a bit of space (and reduce board design costs).
The other alternative is embedded DRAM (or just a large SRAM on the logic chip). The big disadvantage of both of these is that you generally pay quite a bit more per bit of storage. SRAM isn't nearly as dense, and embedded DRAM requires custom fabrication of your entire chip (I.e., you have to design an ASIC instead of using off the shelf CPU and memory parts). That tends to increase your design time and time to market, so unless you gain a pretty substantial benefit otherwise (e.g., from reduced DRAM access time) it's rarely worthwhile.