Back in 2016, I wanted to use an open source Android wallet with access to my private keys. I waited until early 2017 before I decided to create one.
Because it's fun and I like it.
It always depends. If your device is not full of malware and if your passphrase is strong enought, then yes it's safe. Since the private key is stored on device and not in some thirdparty service, you're responsible for keeping it safe.
There're different level of decentralization. PyWallet is only a light Ethereum client that stores private keys (encrypted) on device. But PyWallet doesn't keep track of the blockchain ledger.