The two other similar photo apps I tried before instagram was available take ~8Mb each. Maybe it takes a lot of data to specify the filters?
They might also rely heavily on a non-java codebase, in which case they can't just use the built in libraries that most android apps can rely on.
Both Chrome and Firefox's mobile versions use a lot of space too. (Firefox is down to 20MB, but chrome is 50.)
And wow, apparently Google+ takes 30MB! Not sure what that app does that makes it larger than firefox...