Due to the programming model used by the BeOS, any application running under Be will scale across multiple processors. Programs break up the tasks they need to do into threads. By far, the majority of applications are written to be single-threaded. A multithreaded application is written in a way that lets it execute any tasks that it can in parallel across multiple processors. Writing a multithreaded program takes more time and skill than writing a single-threaded program because there are additional considerations such as thread scheduling that has to happen.
Scheduling is what keeps the threads in synch, and makes sure that everything happens in order.
That John Carmack was able to optimize Quake 3 Arena for multiple processors is a testimonial to his programming skills. Well, at this point the only game that will use multiple processors is Quake 3 Arena. As more people buy multiprocessor systems, there may be more games available that use multithreading. Adobe's fine suite of digital image and video manipulation tools use multiple processors, and use them well. L0phtcrack, the NT password cracker uses multiple processors.