Aside from composition, or having a "good eye," there are 3 real secrets to taking a great photograph:
1) Patience - Waiting for that perfect moment before taking the shot. Quality over quantity (it helps to tell a better story).
2) Connection - When establishing a connection with the subject, it helps to make them look more natural in the photos as well as build trust.
3) Direction - A good photographer will provide the subject direction to make that shot perfect.