Perl, 58 bytes
57 bytes code + 1 for -p.
Requires first item on one line, then the replacements on the next. Big thanks to @Dada@Dada who came up with a different approach to help reduce by 4 bytes!
$a=<>;1while$a=~s%-(\S*)(.*?)\+(\S*)%"s/$1/$3/g;q{$2}"%ee Usage
perl -pe '$a=<>;1while$a=~s%-(\S*)(.*?)\+(\S*)%"s/$1/$3/g;q{$2}"%ee' <<< 'Football -o -a +a +i' Fiitbill perl -pe '$a=<>;1while$a=~s%-(\S*)(.*?)\+(\S*)%"s/$1/$3/g;q{$2}"%ee' <<< 'mississippi -is -i +iz +p' mpzspzspppp perl -pe '$a=<>;1while$a=~s%-(\S*)(.*?)\+(\S*)%"s/$1/$3/g;q{$2}"%ee' <<< 'mississippi -ippi -i -mess +ee +e +tenn' tennessee