what's different between varchar2(10) and varchar2(1000)?

when designing database, can i alway replace varchar2(10)
with varchar2(1000), because i think it have no harm to be longer, if you use that much, then use it, if not, then just leave the rest empty.