Первый — внутри открывает FileStream и пишет в него байты из буффера. WriteAllBytes пишет байты в поток вот такой строчкой: fs.Write(bytes, 0, bytes.Length);
Второй — вы сами открываете FileStream, зачем-то оборачиваете его в BinaryWriter. BinaryWriter пишет в FileStream примерно так: OutStream.Write(buffer, 0, buffer.Length);
Разницы — никакой. Только первый метод закрывает файл. А второй — нет, в нем не хватает вызова Dispose.