Site Maps will speak to what is where--even to functionality and purpose. IA will convince your project manager to spend $X on Y.
I can't say how others tend to view/do it, but in practical terms, here's an example I dealt with recently. Shopping cart project with 'related items'...it's easy enough to stick them in a design and attach them as logical additions to a model, saying they go here or there. But the why, starts differentiating the site map/IA function almost immediately.
And, I really like Michael Lai's answer, by the way. Far more in depth and refined than mine. However, I tend to think functional details more often than not do belong in IA.
So, we have some products. You've got products of various sizes, in primarily horizontal and vertical orientations, usually every particular size/dimension has a corresponding opposite orientation. You have a card, for example, in 3x5 horizontal orientation, and a corresponding one in 5x3 vertical orientation. You're only going to show 4 related products on a page, and you have multiple sizes...3x5/5x3, 4.5x6/6x4.5, 5x7/7x5, 8x10/10x8. That's 8 products. Which 4 are the related products?
They shared major category and attribute commonalities, and you could put any 4 at random (except you don't want to display the same primary item again). A site map doesn't really reveal what you do here, or how to approach it, but IA does. In this case, the four items that are 'related' had a consistent pattern. Opposite orientation was first--if they're looking at 4.5x6, maybe they want to see an alternative in 6x4.5. Then, same orientation and one size up, same orientation and one size down. Then, repeat, one size up and one size down. Skip what doesn't exist or is already shown. Trying to push them to larger sizes for the up-sale so the one size up comes first.
So, if you have a customer viewing the horizontal 4.5x6, they get shown the following 'related' items:
6x4.5 vertical (opposite)
5x7 horizontal (one up)
3x5 horizontal (one down)
8x10 horizontal (one up is 5x7 so skip and next up is 8x10)
But, what if they're viewing the 5x3 vertical? You show them:
3x5 horizontal (opposite)
6x4.5 vertical (one up)
7x5 vertical (one down is the current product, so go up one)
8x10 vertical (one down is 7x5, so go up one)
And when they're viewing the 7x5 vertical. You show them:
5x7 horizontal (opposite)
10x8 vertical (one up)
6x4.5 vertical (one down)
5x3 vertical (one up is 10x8, it's been shown, no more ups, so go one down)
The more options, products, choices, the more ways it could go, but we needed a structure that kept 'related items' to what the customer is likely drawn to, a product in a particular orientation, with a related size thrown in in case it's the size/space to be filled. So, I haven't created any code to get these things anywhere, but I know with absolute certainty whatever product I go to, what will be shown in its 'related items' section. By having the IA/logic/functionality in hand, I only need to map out one product page in a category even if there's 300 products to arrive at either a starting point for code or a content management workflow.
Site maps don't really get to the core of why, and IA does. It's still just 4 items with 4 links, but the IA provides the context that's lacking when the site mapping tells you there are these 4 products and the links go to 4 products because they are related products. IA can stand up to an argument about why those 4 products and not 4 other products, or convince someone to spend money on plug-ins or extensions that bring a ready made and needed functionality, where site mapping doesn't really argue to the bottom line the same way (and not that it doesn't in other ways). IA can also suggest to you that perhaps you need to show a different number of related products, or create questions about what is related, and thus cause you to refine or redefine your model.
What happens when you only have 3 similar related products and that 4th product that should be shown should, or needs to be, something of an entirely different category? A site map doesn't deal with pattern/logic exceptions necessarily, whereas your IA can and will.
Again, that's a practical and perhaps over-simplified example, but it's the real-world sort I find myself dealing with as much as any when trying to bring logic/consistency into decisions about a project. I usually work alone or in small teams and it just seems functionality is almost always in the IA mix. Then again, maybe I'm thinking about and doing it all wrong. There's that possibility, too.