Ad-away works by using a host file to block. The hosts file is generally not writable by the user without root as it lives on a read only partition (/system).
Another way to block ads is to connect to a VPN that blocks thoses hosts for you, however that is more cumbersome to setup.
While hosts blocking is not perfect... my thought on this was to expose a limited API that allows apps to update the hosts file without having root. This could be sketchy and a security risk on its own tho, because you're essentially hijacking DNS... In addition, I don't think the community is interested in this because they all love root..
> Do you rebuild and flash each OS update as a new ROM?
Every month, immediately after the security bulletin and a resync.
> Is all your data on the phone persistent or backed up & restored each time?
So android has a /system partition and a /data partition. When you reflash your system, the data partition (where all your apps, settings, what not are stored) is left untouched. Android will detect this and perform an upgrade operation on the /data partition, if applicable.