Check out the article on Concerns and Cross-cutting Concerns on wikipedia. Basically, "Concerns" are the big general things that you want your program to do - the things you want to separate out into modules. "Cross-cutting Concerns" are things that don't fit cleanly into a separate module - things that are used in a lot of your modules, but which can't really be pulled into a separate module. The example that's used a lot is logging. But a lot of it depends on your specific program, and how you have chosen to modularize it.
Write once, run anywhere, because there's nowhere to hide! - /. A.C.