There is a similar thread at
http://www.linuxquestions.org/questi...threadid=27095
where I posted some stuff - what makes the difference is whether or not your shell is a login shell. That used to have a well-defined meaning in the days of terminals; you logged in and that was the login shell. With Xwindows, that is more fuzzy -- xterm -ls gives you a login shell, for example.
But there is a reason behind this. Since .bash_profile is executed (in principle) only once, that is the place where you can append to the system-preset path, for example. If you did that in .bashrc, your path would grow with each level of shell invocation. You would set the prompt, alias definitions, in general define stuff that is not inherited by a subshell.
mlp