Depends.. On what functionality you're looking for. Quick example - breadcrumbs. Breadcrumbs should be built into themes, page navigation too. Twitter widgets, contact forms, etc should be plugins, because they're not essential. And don't ask me to define essential ;)

That's my humble ;)

~ @kovshenin