Timer is one of the more (if not the most) important aspect of any programmable electronic system. A lot of electronic DIY starter system such as Arduino got their timer function ready for you. By timer function I mean the delay() function.
However, I do not like to use the delay function because of one main reason; in delay, you waste all your microprocessor processing power in just delaying whatever you are doing, you WILL miss all the information in between!
Now for starters, delaying a few milliseconds at a time is not an issue, but when speed and precision comes into play, the delay will have a more significant effect