This is a story with several aspects, and there are different methods which could match with what you have written here. To resolve this ambiguity I’ll write down my method.
If there is either a schematic symbol or a footprint that is quite like, but not exactly to my wishes, then I use it as a basis to create my own. So the first step is a bit of library management:
The simplest is to create a project specific library, and put copies of your new schematic symbol or footprint in it. ( library structures for those are not the same, but details are in the link above).
When the copies are safe in their library, you can modify them with either the Schematic Symbol Editor, or with the Footprint Editor.
Next step is to make sure that you use the schematic symbol from your own library, and that the footprint link in the schematic also points to the footprint in your own library. For a new schematic you just take the parts from those libraries directly, If you have an existing schematic and decide later that you want to change it. Then do NOT delete the old schematic symbol from the schematic. Instead you should edit the library link only. You can do this by hovering over the schematic symbol, press e for edit, and then change the “Library Reference”. The book case just right of the name opens a browser window.
Alternatively, you can use Eeschema / Tools / Edit Library Reference for a spreadsheet like overview or edit.
When these library references are changed, the changes do not show immediately in the schematic (this is a small, somewhat annoying bug). But they are (or at least should be) updated as soon as a redraw is triggered, for example by panning or zooming. If all else fails, save the schematic, exit Eeschema and start it again.
Footprint links are handled in the usual manner. Not much to say about that.
With **Eeschema / Tools / Update PCB from Schematic [F8] you update the PCB as usual. The Netlist relies on names of pins in schematic symbols to be the same as the pad names in Pcbnew. These pin names / numbers are alfanumeric strings, (of at least up to 4 characters in length). BGA’s for example use pin “numbers” with both letters and digits.
If you accidentally deleted a schematic symbol, and placed a new one, then the link between the schematic symbol and the footprint on the PCB is lost. On how to fix that, read:
Or, alternatively: If you already have PCB tracks layed out, you can simply delete the old symbol from the PCB, and replace it with a fresh one from your new library, and then snap a pad of the Footprint to a track end on the PCB.
