Sometimes applications that usually launch quickly may take longer to load, and may either bounce in the Dock more than usual or take a while to show interface elements. The system may be otherwise responsive and active when this happens, and after the application loads it may also run well, but it might take a while to launch.
Commonly used applications or those that were recently opened will usually reopen more quickly than when the same applications are launched right after the system is booted. This is in part because of the system's HotFiles cache where it stores commonly used files for quick access, but in addition part of the application may still be loaded in memory. When you quit an application, much of the code will remain in RAM as "Inactive Memory," which will reactivate when the program is launched and thereby reduce load time. If a program is freshly launched after a restart, it may therefore take a little longer to load than when you usually open it.
Fonts and other shared resources
If you have recently installed any fonts, sounds, or other shared items on your system, then applications that use them might take a little longer to load. Some applications will cache the commonly used items, but this will depend on the coding of the application. If you have many fonts on your system, use Font Book to help manage them and disable those you do not use. An easy way to do this is to make groups of fonts along with a single group that contains all your fonts. Then disable the "All Fonts" group and enable one of your other groups when only it is needed.
Application-specific plug-ins and resources
Many applications will have their own plug-ins and resources that they use. These are usually installed in a specified plug-ins directory, but the program may also use shared resources (for example, the "Internet Plug-Ins" that all Web browsers use). If there is a problem with one of these plug-ins then the program may have a hard time loading. You can try searching for the plug-ins, which many times are in a folder that is named either by the application ("Creative Suite") or by the developer ("Adobe"), and may be located in the following directories:
Macintosh HD/Library/Application Support/
Usually hardware problems with RAM, the GPU, and other system components result in either a crash or a hang when various programs are run that make use of the faults in these components. However, if there are bad blocks on your hard disk then the drive may try reading them and pause when loading, resulting in a hang during launch while the system tries to manage the inability to read the block. Generally bad blocks are dynamically reallocated to spare ones, but there might be times when you need to force this by running a scan using a program like DiskWarrior or Drive Genius.
Network and optical drive activity
If the program you are using requires a network-related resource or one that is stored on an optical disc, then the program may pause when loading to wait for that resource to become ready. You can try testing this out by ejecting optical discs and disconnecting the network, but also can try navigating to the optical drive in the Finder and allowing it to spin up before launching the program (DVD players are susceptible to this type of hang).
Permissions, preferences, and caches
Another possibility for why a program might take a while to load is that resources it uses may not be accessible. These can be items in the global and system directories, in addition to preferences and other items in the user's directory. There can also be problems with application caches the program uses. Try running a maintenance tool to remove caches on your system and running a permissions fix, and also try removing the preferences file for the application. The preferences file will usually be named according to the convention of "domain.developer.name.plist" (as in "com.apple.iTunes.plist" for the iTunes program), and be stored in the /username/Library/Preferences/ folder.