If you want to work in scales of more than milliseconds then you really require an RTC chip. If you want to keep track of the time and date while the Arduino is either busy doing something else, sleeping, or even turned off, then you require an RTC chip.
The most common is the DS1307, and there are millions of shields with them on around the place.