My favorite note-taking software is CherryTree, but at work I use OneNote if installing new software is against company policy. Ultimately what I want is pages of plain text which are organized in a tree structure.
As a part of my work I make notes regularly. Each new task gets a new page: it starts with a link to Jira and a copy of task description; followed with all task-related facts I found, questions I want to ask/explore, etc. The purpose of this is to be able to continue if I get interrupted or on the next day, because my memory sucks. Sometimes I use writing as a form of rubber duck debugging. After finishing the task, the page is moved into a "completed" folder (sometimes organized by year and month) and typically not edited anymore. As a side effect, it allows me to provide an occassional summary when someone asks what I have been working on this year.
In addition to that, I also have a topic-oriented hierarchy. The top nodes are "company" for information about company in general (processes, colleagues...). A top node for each project I am working on (data model, API...). The last top node is "knowledge" (useful pieces of information about programming languages, frameworks, and tools). This information is updated when I learn something that seems useful, and referred to when I need to remember something I know I made a note for. I do not aim to have a complete documentation of something (that would take too much time) but rather to cache everything that I already spent time to find out.
(Sometimes my colleagues object when they see me making private notes. Like, why don't I update the company wiki instead? The answer is that my private notes are allowed to be idiosyncratic, incomplete, low-status; and I am free to use the most convenient tool for the job. Writing for others using tools selected by others is more than trivial inconvenience -- waiting a few seconds after clicking each button, fighting with the formatting... That said, yes, I also contribute information to the company wiki once in a while.)
At home, the top nodes in my hierarchy are "to do / planning / projects", "finance", "various know-how", "mathematics", "computer science", "programming", "useful software", "games", "books", "internet"...
I am using this kind of system for several years. Previously I tried to develop my own software (Notilo) optimized for my personal quirks, but it was quite lame, and when I had kids it became impossible to maintain it, so I switched to CherryTree. Unfortunately, I have a lot of notes in the old format, which I hope to convert (probably by manual copy-pasting individual pages) one day.
What role does note-taking play for you? Is it a way to focus your attention? To make extracts from the text for easier reference later? To comprehend the material better through the act of making notes?
All of the above, with different parts of the system optimized for different purposes. Generally, there is a "diary" part and a "reference" part; the former helps me focus on something at short term and sometimes serves as a log in long term, the latter allows finding things easily later.
I want there to be a good filing/structural solution for notes but I find that largely gets in the way because there's no clear paradigm to follow. Most of my stuff ends up in a commonplace book format for that reason.
I will email notes to myself if I have to but I've deprecated that method.
Every single wiki/note/knowledge management system you can think of I've used or still use. OneNote is a current dumping ground, notion if I can be bothered cleaning up the notes.
My quick typed notes on PC are usually done in Notepad++. This is another one of those it just works solutions.
I am basically paperless, which is something I didn't think would happen. That being said, having the devices to do it and having an ideal process are two very different things.
I have my (android) phone which I can use to access data. A phone is a bad device for anything but photos/scanning and reading notes, editing is too much of a pain. Lots of problems that should be solved aren't solved (interoperability is a sore point everywhere), and for no good reason that I can see other than nobody has bothered to address it.
Tip: sharing something to google tasks is a very quick and easy way to sync data between android and pc without any grief. It just works.
I use a Boox Note, which is an android tablet with an e-ink screen and a wacom digitiser. Aftermarket Staedtler Norris digital stylus. Only the built in notetaking app supports fast refresh, and that's what you need for notetaking to work on e-ink. The api to implement fast refresh exists, as far as I know nobody has ever used it on public software. This device is a solid note taking experience. E-ink draws next to no current so the uptime is weeks. Syncing is mostly a non-issue (all these things have their own quirks. Provided you want to do things the way the vendors want you'll have no issues. I never seem to want to do things the way vendors do, so I always end up in the weeds at some point). This was my primary note taking device for several years, and I still use it depending on the situation.
I recently bought an iPad Air for the drawing and note taking (mainly because I wanted colour and you can't get that with e-ink yet). The iOS ecosystem and I do not see eye to eye all the time, neither do I with various software within that ecosystem. Interoperability between ios, android, and pc can be annoying. The apple pencil isn't perfect but it is way better than most vendor offerings you typically get. I don't know how I feel about the optional handwriting input at the system level. Yes it works but it has some quirks. The pencil can also be a bit twitchy with double tap switching. Note taking software is a sticking point at present. Notes are mostly in GoodNotes, separated into books (which is pretty much the same as what I'm used to on the Boox). Apple notes is more of a scanner IMO. I want to love Concepts but I hate it - the idea is sound but the drawing and writing feel is all wrong. Syncing for all software is garbage (which is part of the interop issues).
Tip: custom templates for note taking software will make your life better. In the past I've made paper forms that I've printed out to use back when that was difficult to do on pc. Making the digital equivalent of a custom form for capturing certain types of data is every bit as useful. A good example of that on my current devices are fashion design bodyforms - you don't care about the pose and you don't want to waste time on a task that never changes. Note taking is a data collection issue, optimise for whatever you collect a lot of.
I am constantly looking for my Holy Grail of software that will magically solve all my note taking problems. I am always teetering on the edge of actually programming my own software, more out of the spirit of Fine then! I'll do it myself! than any sort of actual interest in the area. Digital should be more than paper (because we already have paper) and there are a number of obvious (eg. why can't I treat my ios or android as a printer from other devices? It is a display device) and less obvious ways (eg. if a device can perform OCR in real time and predictive text is a solved problem then why can't we have handwriting completion? Macro expansion would be even easier than that) that digital could easily have more value than simply aping paper.
Consolidating notes is part of understanding the material. It's basically explaining it to myself in the future. I find this to be particularly useful when it comes to obscure tech support issues. Plenty of things in that realm make you think I never want to do that again and then document it so you don't have to.
It's all reference material, it's all about outboarding memory and creating external indices. The day I can get a production ready neuroprosthetic hippocampus that outperforms what I have to hand then all my note taking is going into the garbage.
I have no evidence for it but I think that handwriting may have particular effects on learning and retention that typing might not.