Job costing is used for short-term, smaller-scale projects with distinct costs for each job, common in manufacturing or services. In contrast, contract costing is for larger, long-term projects, like construction or civil engineering, where costs are tracked over the life of an extensive contract.