On one hand, when you offer custom development services, you become dedicated to another person's projects. Often, as business needs change, owners may want added functionality in their custom software. At such times, you will have to quickly make the changes the customer wants so that he is satisfied. This is an option that is not available for mainstream software products.
On another hand, a huge advantage here is that you get a significant amount of experience, working with more experienced business owners.
Companies that ask for custom software development services are usually big companies with many experienced employees. CTOs, team leads, product managers, developers - these are the people that you will have to hire later, and before you hire them - you have to understand what they are doing.
For example, we didn't have much experience as a mobile application software company
, but after our customer asked to develop an app, we were able to reuse that experience, developing mobile applications later.