Sure, on a single processor box, any DML operation will burn some CPU. However, a tuned insert or update statement should not consume 100% of the cpu for a long time.

When I say "WHICH Process", I mean which one of the oracle background processes is running the CPU to 100%? Each of the processes might indicate a different problem. If the process is a user process (not the statement, but the dedicated backend proceess) then it is probably a poorly tuned query. If the process is the DBWR, you may have db_block_buffers issues. If the process is LGWR, you may have I/O contention issues. It really depends on WHICH process is hanging.

On Solaris, you can use /usr/ucb/ps -aux | head to see exactly which process is consuming 100% of the CPU. Surely on Windoz there is a similar command/program that will show you which process is hung.