It is often seen that Option 1 is adopted across Salesforce ecosystem as it provides an immediately perceived increase in deployment velocity, but selective deployment without organizing into functional blocks over a longer time slows the development/deployment velocity by increasing the cognitive overhead on development, testing and release management teams., think 1000 apex classes in a single folder!