1) Microframeworks are lightweight frameworks that only handle core tasks like routing and sessions, giving developers freedom over components, patterns, and conventions. 2) In contrast, full-stack frameworks like Rails are more rigid since they enforce certain development philosophies and replacing core components requires more work. 3) For small projects, microframeworks keep code small since only necessary components are included, whereas full-stack frameworks start at a larger size and grow from there.