When developing in my sandbox, I want to get a list of items (custom objects, LWC, Role, Permission Set, Email Template, etc.) that have been updated. How can I get a list of updated items? Basically, I want to see the difference between production and sandbox so I can be sure that everything gets deployed.
There's not really much you can do aside from checking the Setup Audit Trail. There are apps out there, such as GearSet, that allow you to diff between orgs automatically. (note: I am not affiliated with GearSet, just familiar with their features. Make sure you do proper research before making any purchasing decisions.)
If you really wanted to step up your game, you might consider leaving Sandboxes entirely and start using Scratch Orgs. Scratch Orgs are "tracked", meaning that you can easily pull any changes using
force:source:pull, then deploy those changes to another org with a simple command. This is, by far, a much better solution than Sandboxes for most use cases. You can even use Unlocked Packages to ensure that your changes are exactly as you expect.
You can compare the sandbox to production, i.e. by using this service: https://sforgcompare.herokuapp.com/
From a infosec perspective - keep in mind that this is not a service developed by Salesforce, even though i have no doubts about the level of professionalism of the the guy who's behind it.
OR, what i would recommend, do your changes in a scratch org that's designed for tracking development changes.