Why do some assemblers require an odd-length kmer for the construction of de Bruijn graphs? Why do some assemblers like SOAPdenovo2 or Velvet require an odd-length k-mer size for the construction of de Bruijn graph, while some other assemblers like ABySS are fine with even-length k-mers?
From the manual of Velvet:


  it must be an odd number, to avoid palindromes. If you put in an even
  number, Velvet will just decrement it and proceed.


the palindromes in biology are defined as reverse complementary sequences. The problem of palindromes is explained in this review:


  Palindromes induce paths that fold back on themselves. At least one
  assembler avoids these elegantly; Velvet requires K, the length of a
  K-mer, to be odd. An odd-size K-mer cannot match its reverse
  complement.


It is possible to construct graph with palindromes, but then the interpretation will be harder. Allowing only graphs of odd k-mers is just an elegant way to avoid writing a code for interpretation of a more complicated graph.