joins are for lazy people Is this true?

I heard that JOINs (SQL) are useless. Using joins is less efficient than making several requests and link tables in the code (C# or Java).
Joins are for lazy people that don’t care about performance. Is this true? Should we avoid using joins?

No, we should avoid developers who hold such incredibly wrong opinions.

In many cases, a database join is several orders of magnitude faster than anything done via the client, because it avoids DB roundtrips, and the DB can use indexes to perform the join. There are some rare cases where custom client code can do things more efficiently than a straightforward DB join (see comment by meriton). But this is very much the exception.