When used properly, serverless technologies like AWS Lambda can lower the cost of running a system by only paying for services when they're used. Serverless also provides benefits such as better security, built-in redundancy and scalability, allowing developers to focus on adding value to their business with less time and effort. However, common mistakes in serverless systems include overlooking monitoring and logging costs, not understanding the pricing of AWS services before using them, failing to set up billing alarms, making synchronous Lambda-to-Lambda invocations, missing caching opportunities, over-provisioning memory for Lambda functions, and poor architecture design. By avoiding these mistakes and taking a deliberate approach to serverless, developers can optimize their costs and improve system efficiency and performance.