Duration is clock time. The amount of time elapsed between a query starting and a query completing. CPU time is the amount of time spent executing on the CPU, calculated per core.
Which you use depends on which you want. Interested in what's taking time, use duration. Interested in what uses CPU, use CPU.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability