There is a difference between the number of threads in use by all applications on your machine and the number of threads in use by ffmpeg.
Yes, it's entirely possible (and likely) that you have many hundreds of threads running on your machine, but in this specific case the OP is asking about ffmpeg.
ffmpeg is a transcoding engine - it takes video and/or audio files in one format and converts them to another. Due to the nature of transcoding this is typically a linear task that can take a long time to process and single-stream tasks do not scale well over multiple processors/cores.
However, if you have multiple processors, or multi-core processes, the task can be split up into chunks and divided across the available cores/processors. THAT is what ffmpeg is giving you control over, and the number of threads you should tell fmpeg to use is directly related to the number of cores/processors on your machine.
Think of it like translating a book from one language to another - let's say Latin to English. To translate the book you have to read each sentence, understand what it's saying and translate that to the target language. You have to do it on a sentence-by-sentence basis since translating each word in turn results in nonsense, and you can't logically work on multiple sentences at a time.
As a single translator, you might be able to translate 10 pages per day, so a 100-page book will take you 10 days.
However, if you have three friends who can also translate you can divide the book into 4 chunks and give each person 25 pages each to translate. Now you'll translate the job in about 2.5 days (plus a little extra for the overhead of splitting the book and merging the chunks back together at the end).
So do not confuse ffmpeg threads with the typical thread model found in other applications. ffmpeg can easily saturate a single processor and it needs help to get the most performance out of mutli-processor/core systems.