O valor de 0xDEADBEEF tem três benefícios práticos, principalmente para sistemas mais antigos. Antigos hacks de assembler / C, como eu, o usariam para preencher a memória não alocada para resolver problemas de memória. Além disso, é um trocadilho com a gíria "carne morta". O programador está morto se DEADBEEF aparecer em seus ponteiros. Parabenizo o cara que primeiro pensou em usar o valor DEADBEEF. É inteligente de várias maneiras.
Por razões práticas, em primeiro lugar, é mais perceptível em um despejo de memória hexadecimal porque na verdade soletra palavras em oposição a valores hexadecimais aleatórios.
Em segundo lugar, se o valor acabar em um ponteiro, é mais provável que induza uma falha de memória fora do intervalo. Um endereço DEADBEEF estava fora da faixa de endereços dos sistemas (estamos falando de sistemas do século passado agora), independentemente do endian do sistema.
Em terceiro lugar, é mais provável que induza uma falha em sistemas que requerem valores de ponteiro de limite pares para acessar dados de 16/32/64 bits. É mais provável que o valor falhe porque ambos os valores de 16 bits (DEAD, BEEF) são ímpares.