I think you’ve come to the right place, but the important thing will be what you think. I’d highly advise you to try EE out before making a final decision- there are a couple of trial options. In your case? I’d probably do two of them- install ‘Core’- which is a limited version. But the nice thing is, you can take a look at the files/code and get a feel for how it all hangs together. (It hangs very nicely.) It might also be worth skimming the devlopment docs as it sounds like you are interested in how easy it is to integrate custom code.
I’d also suggest the hosted trial- it will give you a look at the gallery and the forum, which Core doesn’t have.
Trying things out is going to be the best way to get a real feel for how EE works. Now, let’s see if I can hit the specifics.
1. Text/graphic pages- should be no problem. You’re likely going to be using the weblog module for most of your content. It’s very powerful and flexible- so you’ll be playing with custom field creation and display quite a bit.
2. There is a gallery module, though depending on needs/preferences, some folks use the weblog module for this as well.
3. There’s a standard tag for contact forms and tell-a-friend forms. For greater complexity/flexibility, a lot of folks use Solspace’s Freeform module as well.
4. Member login- no problem. There’s a ‘frontend’ member login for folks who do not have access to the backend control panel. You’re seeing the forum version of this in action right here- can login, edit password and descriptive info, can add custom member fields to hold additional member data. Have the ability to pm members, send them emails through the system, ignore certain folks- etc.
5. There isn’t a full blown integrated commerce system- though there is a simple commerce module- it integrates with paypal, basically by creating paypal links. But to link to a full blown payment gateway will require custom work on your part at the moment.
6. Sure- unlimited weblogs (think of them as data containers)- they can’t be used as a hosted blogging solution, but with unlimited weblogs, mulitiple category groups assigned to each weblog, and multiple categories assigned to entries, you have massive flexibility in how you structure your data.
7. Yes- this is one of the reasons designers tend to love EE. The standard templates are really just (x)html- and you plop in EE tags where you want the data output. Very, very flexibile, very conducive to custom designs. (The member templates and the forum templates aren’t as ‘everything goes’, so that’s where you’ll tend to spend time tweaking.)
8. The script isn’t encoded and you’re free to hack/modify as needed. However, EE is also built to enable custom modules and plugins- plus there are extensions that allow you to modify default behavior. Sticking with modules/plugins/extensions rather than hacks makes upgrading easier. Plus- if you’re using EE for a large number of sites? It makes good sense to have your own little cluster of custom code that you add each install. I have my ‘stock’ modules etc. I add to almost every install- and when I need new functionality, it’s usually worth it to build a module/plugin so I’ve got it handy to use whenever/wherever I need.
To sum- aside from needing a full blown payment gateway, it sounds like EE’s a good fit. And EE has been used with a number of commerce systems, so that will be doable. Just not ‘out of the box’. But the best way to know whether it will fit your needs is to try it out.
That help?