In most cases DApps need to utilize both Layer 1 and Layer 2 solutions to optimize performance and costs. Purely operating on L2 can limit functionality in some cases. The combination of Layer 1 and 2 is optimal for DApps to balance capabilities and scalability.