I set up my recipes in Beersmith, and in the Notes section I add some extra info (eg. water additions, if I am going to use different volumes/temps/etc that aren't the same as what Beersmith gives, ie from Priceless Brewing). I make one copy of the recipe and put it into an "In Progress" folder, and make any desired edits on that copy, leaving the original recipe intact.
On brew day I print that out, and as I'm going, check off or record items as I've done them (salt additions, temperature check, volume check, grains added, SG readings, etc). Anything that differs from the printed info (either intentional or not), I just cross out the original info and write in what I actually did.
On the back, blank, page of my print out, I record things like the date, how long it took me, things like pitching temperature, any notable things that occurred (eg. if I lost too much temp in the mash, or if I over/undershot efficiency, anything I noted that didn't go to plan).
I carry on the note taking on that same page through primary, noting date/time/temperature/notes (like when activity began, full krausen, krausen dropped, dry hop dates and methods, SG checks, etc) and into bottling (temperature, priming sugar, amount that made it into bottles, anything else noteworthy)
For my first several brews I also recorded what I was putting into my Coolbrewing cooler, as far as ice, to help me dial in how much ice I needed to achieve desired results (eg. Feb 20, 8am, 67*F, 2L ice ...... Feb 21, 8am, 65*F, 3L ice.....). I now am comfortable with the cooler, so I don't keep track of ice any more, but it's a great example of where the notes helped to inform my brewing process.
I then put the paper recipes/notes into a brew binder. I havent yet actually done a recipe repeat, but when I eventually do, I'll go back to the original notes and look for anything I wanted to do different. Assuming the recipe won't change, I think on the repeated brews I won't reprint the recipe page, I'll use the original, but I will make a new note sheet for recording brewday/ferment/bottling notes. If I change the recipe, I'll do a whole new set.
Finally, in Beersmith, I copy the recipe to a "Brewed" folder, update any changes I made on brewday (eg. if I changed any ingredients, missed temperatures, missed timings, etc) I add a few notes to the Note section (anything I think is most important from my paper notes), as well as a few comments about the final product, once conditioned and I've tried the result. I've also taken to using the Version # field as a basic taste rating system, from 1-5... I rank how well I enjoyed the beer and make that column visible in Beersmith, so I can quickly see what my preferred recipes are.
Again, when the time comes for me to repeat a brew, if nothing has changed, I won't make a new copy in Beersmith, I'll just use the original file. If something is changed, I'll use a new copy, with the new info editted in.