Top shows usage over some time period - by default, something like 3 seconds. It basically tells you what percentage of CPU time a particular process ID used over that interval. And note that this percentage can be over 100% - if you had one process running two threads and keeping both cores of a dual core system busy, you'd see a number around 195% in the %CPU column for that process.
To add some more detail, as the man page explains:
k: %CPU -- CPU usage
The task's share of the elapsed CPU time since the last screen
update, expressed as a percentage of total CPU time. In a true SMP
environment, if 'Irix mode' is Off, top will operate in 'Solaris
mode' where a task's cpu usage will be divided by the total number
of CPUs. You toggle 'Irix/Solaris' modes with the 'I' interactive
-d : Delay time interval as: -d ss.tt (seconds.tenths)
Specifies the delay between screen updates, and overrides the cor-
responding value in one's personal configuration file or the
startup default. Later this can be changed with the 'd' or 's'
'A' - Alt display Off (full-screen)
* 'd' - Delay time 3.0 seconds
'I' - Irix mode On (no, 'solaris' smp)
* 'p' - PID monitoring Off
* 's' - Secure mode Off (unsecured)
'B' - Bold disable Off
So the %CPU column is the percentage of the machine's total CPU time since the last screen update. You can change the time between screen updates either at the command line or interactively, but it defaults to 3 seconds. By default, Irix mode is enabled and the %CPU can be >100% on a multiprocessor system, but Irix mode can be disabled to cause the percentages to be scaled down based on the number of cores.