با سلام
ببینید دوست عزیز این دو حلقه هرکدام کارایی خود را دارند یعنی ممکن است شما کاری که با حلقه for انجام میدهید نتوانید با while بکنید و بالعکس.
البته برای خیلی از تصمیم گیریها در برنامه ها می شود از هر دو استفاده کرد
بهتر یا بدتر بودن این حلقه ها هم با توجه به کارآمد بودن آنها در حل مسئله تعیین می شود یعنی نمی شود گفت این بهتر است یا آن
موفق باشید - محمد