When I call getnewaddress, it returns a new address and imports the private key into the node and further I can easily call methods to transfer assets (i.e. sendfrom). This make your development easy but in case I don't constantly backup the node, I can lost all those keys and I cannot spend those assets anymore in case the node dies.
On the second hand, if I call createkeypairs, it provides keys and from those key I can create, sign and broadcast the transaction to any node (still need to backup the keys, but not need to backup the node). This make the development more complex, but reduce the dependency with a specific node.
Is my understanding correct?
Is there any recommendation to "backup" those address when call getnewaddress?
or do I need to import every single addresses that I create by calling getnewaddress?