I had to pay my own travel on some projects but I was remote based 95% of the time so this wasn't a big issue. I agreed to it so that I wouldn't be replaced with a more local resource. There was no increase in pay or annual review during the 2 years I was there and I was let go due to the loss of a large client and a lack of available work. Things may have changed but there may not be much room for advancement. Benefits are expensive. There is very little corporate structure/documentation and you'll be expected to perform while left to your own devices (not necessarily a con but potentially a negative if you are expecting a structured corporate environment such as you would see with a large corp). You'll be expected to work with offshore development teams and in some cases there is a language barrier if you are not Indian.