For accounts where the user is going to use a UNIX shell regularly, you probably want to use a default shell with good interactive features (command-line editing and history) such as bash, ksh, or tcsh. csh has more crude command-history features, and sh is usually considered too spartan for normal interactive use (although it is often the default shell for the root account since it is the most universally available shell).
The two major shell families use different init files:
There are also global init files for each shell family:
Typically these are read before the user-level shell init files, so that users can override global settings in their own configurations.