From a developer point of view, you're able to compile your own applications for up to 100 devices (as long as you have the device unique identifier (UUID) for each of them). There's no easy way to do this for the public however.
So err, what happens if you are developing apps on behalf of clients, and you want to demo apps to each of them, and you end up with more than 100 clients?
There's a different kind of registration for that I believe, I have a standard developer program license ($99USD/year), there's another "enterprise program" which I think can do 500: http://developer.apple.com/iPhone/program/apply.html
The enterprise program lets you issue a provisioning profile that's not tied to UUIDs. Translation: you can have as many app users as you want.
On the other hand... there's no easy way to charge. The provisioning profile is all that's needed to run the app.
Also, these profiles are intended for "internal distribution" (inside a company). I'm sure Apple will blow up your certificate if you try public distribution.
I generally have clients sign up for their own apple certificate under their company, so the app purchases go directly to their bank account, the app the branded under their company name, and you don't have to think about that.