Because it's fragile. One change by the DBA and your app is broken. And if you're lazy enough to let a select * slide, then you're probably not wrapping your critical code in try-catch blocks, either, ...