I always create my tables thinking about how they will relate and then put then to work with no dependencies. FK declarations sometimes make tables harder to alter when there is data already, so I don't use them. After all when I need to relate tables I use some joins. The only thing I see of good in FK is the alert when you try to delete some data binded to others and the cascade feature.
But I know I am a little noob, so, what else is wrong in not declaring FK and what is good about not using it, if there is any?