Timer interrupts - which library to use and why?

Hello,

I've been trying to implement a non-blocking function and i discovered the use of millis instead of delays and then i learned that interrupts or rather, timer interrupts offer an even better solution.

However, in my research, i found that some tutorials are using TimerOne.h and others use MsTimer2.h and i'm confused about which library to use? Which one is better? How do i choose the correct Timer library?

I found this page and it even mentions Timer3?? Arduino Playground - Timer1

DryRun:
then i learned that interrupts or rather, timer interrupts offer an even better solution.

To what problem?

This excellent tutorial uses no timer libraries.

TimerOne is the best place to start. But maybe your problem has a better solution.

Interrupts appear to be poorly-supported on Arduinos because they simply aren't necessary for you to play with in 98% of all Arduino programs. I have many large programs which have tight timing requirements and I don't use interrupts outside of standard libraries (eg. analogRead() uses an interrupt but you never need to know this when you are programming.)