TL;DR. Two $95 cards with overlapping ambitions. Bilt Obsidian earns 3x on dining-or-groceries (your choice monthly), 2x travel, 1x rent, plus $100 Bilt Hotel credit and Lyft credits. Sapphire Preferred earns 5x on Chase Travel, 3x dining, 3x online groceries, 3x streaming. CSP wins on category breadth and travel earn. Bilt wins on rent earn and American Airlines transfers.
The three dimensions that actually decide it. First, rent. Bilt is the only major card that earns points on rent. CSP cannot. Second, transfer partners. Both have Hyatt. Bilt adds American (unique). Chase adds United. Third, earn rate on shared categories. CSP's 5x on Chase Travel beats Bilt's 2x on general travel.
Real customer scenario for each. If you pay $2k a month in rent and your other spend is broad, Bilt's rent earn (24k points a year at 1x) plus dining/groceries 3x is the play. If instead you do not rent (own or family situation), CSP's broader 3x and 5x categories crush Bilt at the same fee.
The trap to avoid. Holding Bilt for the rent benefit without using the Bilt Rent Day boost (1x doubles to 2x on the first day of each month on non-rent purchases up to 10k points). Missing Rent Day cuts Bilt's effective earn rate roughly in half on bonus spend.