Everyone has an opinion and there are many reasons to do it. If you have ever had the pleasure of looking into a dirty duct, I challenge you to stick your hand in and wipe it clean. Don't use a rag, just your hand. If you can't do it because its' "too Gross" then maybe a cleaning is in order. This also improves airflow efficiency, and the life of the furnace (moving components), if it's quite dirty. To add, this is the lungs of your house, so as it gets dirty it will re-enter your house as it passes your filter. There is a whole topic on the efficiency of filters.
There are two cleaning methods and one is useless, the other uses a huge suction system ( in a large truck) with cleanouts and a scrub brush to ream out the ducts. The other is a ding dong showing up with a vacuum. One way to increase the duration between duct cleaning is to clean the returns once in awhile.