Needleman Algorithm for Optimal Alignment of two Amino Acid Sequences
Needleman-Wunsch does an end-to-end (global) alignment (BLAST uses Smith-Waterman). Needle from the EMBOSS toolkit performs Needleman-Wunsch alignment. It will report the highest scoring alignment. I am not sure which alignment it reports when there are two of them with equal scores (I don't think it is random). 

I just tried your case: replaced B with W as the former does not denote any specific amino acid (it is ambiguous). It does give:

     1 ----------AW-DE      4
                 || ||
     1 AAAAAAAAAAAWCDE     15


Note that you can change this behaviour by altering the gap-open and gap-extend penalties. You can also change the end-gap penalties (gaps in the beginning or end of the alignment; not in the middle) in Needle.

In this case gap-open=10, gap-extend=0.5, end gap penalty=false and matrix=BLOSUM62

For performing a local alignment you can use Smith-Waterman. It just aligns the highest scoring region and does not do an end-to-end alignment. You can change gap-open and gap-extend penalties in Smith-Wateman and BLAST too, but these algorithms do not begin or end an alignment with a gap.

This is the output of Smith-Waterman with gap-open=1 and gap-extend=0.5 and BLOSUM62 as scoring matrix.

     1  AW-D  3
        || |
    11  AWCD 14


For more information see What is the difference between local and global sequence alignments?