Detailed Explaination[
^]
The above link will clear your doubt I hope.
EF Code First is very handy and shiny now a days, even in EF7 there is only Code First. But in EF5/6 which currently we are using, there are few times we do not opt for reverse engineering. My vote here would be for DB First approach.
Thank you :)