How is "write memory" different from "commit apply"?
The command "commit apply" will push any recent configuration changes to all associated IAP's in the cluster to inherit the changes and subsequently update their configurations. Whereas the command “write memory” only writes the configuration changes into flash. It doesn't push any changes to the cluster nor inherit the changes .
In the below example as you can see, changes were not reflecting in "running configuration" until the command "commit apply" was executed.