Fiber is just a thread implemented in user space.
Fibers are easier to reason about and have perf advantage of much cheaper context switching. Fibers are very well suited for handling concurrent IO operations where a processor mostly wait for data to become available, and threads usually have pretty big context switching cost. So multiple fibers running in a single thread is an effective solution.
Here is a simple program I wrote to explore fibers. You can find the full example below.
SOCIAL SHARE CARD GENERATOR