In my experience you should try to do both very well. If you do that you'll always have options and when you're actually working you won't find yourself having to rely so much on other people in your team/department/company being competent because oftentimes they just aren't.
I know that's not a cut and dry either/or answer but really you should pick whichever one you like doing more but don't neglect the other since there will be times when you're doing back-end work and fe devs will tell you something isn't possible when it actually is or times when you're doing front-end and you're at the mercy of the DBA or some bogus back-end coder that doesn't know how to implement what you need.
I personally prefer to do all three since I'm a control freak but also if you do freelance work a lot of times you'll be working for clients that don't understand the idea of hiring 3 different developers (plus a designer and/or information architect) to do one project so it's good to be able to do it all at least on a small scale.
I know that's not a cut and dry either/or answer but really you should pick whichever one you like doing more but don't neglect the other since there will be times when you're doing back-end work and fe devs will tell you something isn't possible when it actually is or times when you're doing front-end and you're at the mercy of the DBA or some bogus back-end coder that doesn't know how to implement what you need.
I personally prefer to do all three since I'm a control freak but also if you do freelance work a lot of times you'll be working for clients that don't understand the idea of hiring 3 different developers (plus a designer and/or information architect) to do one project so it's good to be able to do it all at least on a small scale.