I moved to New York City a couple months ago and since I've been here I've seen at least 3 different people doing pull ups outside using the poles that hang over the sidewalks/buildings that are under construction. At first I thought these guys were pretentious fucks (oh look at me, I can do pull ups in front of everybody, I'm so strong) but now that I think about it it's actually a legit way to work out in a city where gym memberships cost your left nut.
Anyway, body weight exercises are good and can give you some strength while staying lean, but one thing a lot of people don't realize is that you don't actually get stronger unless you do more reps every time you work out. Doing 50 push ups every day is a good way to maintain your strength, but you won't actually get stronger until you do at least 1 more rep (51 push ups the next day, 52 the day after that, etc). If you can't do more reps every time you work out, chances are your body hasn't fully recovered yet, and you need to rest more between workouts. Also, if you lose weight, you have to do even more reps. If you can do 50 push ups when you weigh 200, and can still only do 50 push ups when you weigh 180, you've actually gotten weaker because you're lifting less weight for the same amount of reps as before.
This is why I prefer lifting actual weights at a gym if you're trying to get stronger. You don't have to do an insane number of reps, and you can just throw 5 pounds on the bar every workout and it's progress.