Platform abstraction is a design principle that enables software applications to run on multiple platforms without modification by providing a uniform interface to underlying system resources. It enhances portability and flexibility by decoupling the application logic from specific platform dependencies.