Can work from home, flexible working hours, work under little supervision
Cons
You are given a simple mock UI/sketch and you are expected to deliver. Most projects not using framework and everyone has their one coding style. So maintenance is quite a challenge