.bash_profile and .bashrc

What’s the difference between .bash_profile and .bashrc?

After changing:

$ nano ~/.bashrc

, similar to .bash_profile, do we still need to activate it by:

$ source ~/.bashrc

?