Discrepency between lmerTest, mixed and aov results

I am running a mixed effects model to explore the relationship between factors of Group (2 levels), Age (quantitative), and Stim.Type (2 levels) on FA as the DV. To validate the p values I got for terms when I ran the model using lmer with lmerTest I subsequently tried using afex::mixed and aov, which yielded rather diffrent results (see below for all three outputs). My question is: why I am getting discrepancies between these, especially what seems to be attributing significant effects either to Group or Group:Stim.Type? Which results can I trust here? Is there a problem with my model specification somewhere, or just slightly different algorithms leading to different outputs?

When I run the model with lmer using lmerTest as: lmer(FA ~ Group * Stim.Type + Age.Z * Group + (Stim.Type|Subject),CtxFGNG.FA.Rates.Ctx.eat)

Fixed effects:
Estimate Std. Error       df t value Pr(>|t|)
(Intercept)            0.23149    0.02744 51.87000   8.435 2.68e-11 ***
GroupBN                0.03059    0.04028 51.87000   0.760  0.45097
Stim.TypeFood          0.08308    0.01923 54.00000   4.321 6.71e-05 ***
Age.Z                 -0.07734    0.02733 52.00000  -2.830  0.00661 **
GroupBN:Stim.TypeFood  0.06946    0.02822 54.00000   2.462  0.01705 *
GroupBN:Age.Z          0.08795    0.03812 52.00000   2.307  0.02504 *


However when I use afex::mixed: mixed(FA ~ Group * Stim.Type + Age.Z * Group + (Stim.Type|Subject),CtxFGNG.FA.Rates.Ctx.eat)

I get:

           Effect     F ndf   ddf F.scaling p.value
1           Group  2.93   1 52.00      1.00     .09
2       Stim.Type 69.73   1 54.00      1.00  <.0001
3           Age.Z  2.95   1 52.00      1.00     .09
4 Group:Stim.Type  6.06   1 54.00      1.00     .02
5     Group:Age.Z  5.13   1 52.00      1.00     .03


And when I run summary(aov(FA ~ Group * Stim.Type + Age.Z * Group + Error(Stim.Type/Subject),CtxFGNG.FA.Rates.eat))

The result is:

Error: Stim.Type:Subject
Df Sum Sq Mean Sq F value  Pr(>F)
Group             1  0.330  0.3302   4.851 0.02979 *
Age.Z             1  0.360  0.3601   5.291 0.02340 *
Group:Stim.Type   1  0.101  0.1008   1.481 0.22632
Group:Age.Z       1  0.667  0.6669   9.797 0.00226 **
Residuals       106  7.215  0.0681


Thank you!

In your random statement you specified +(Stim.Type|Subject), which means you are estimating random intercepts forSubject and allow for random slopes of Stim.Type within Subject. In your aov statement your specified Error(Stim.Type/Subject), which means Subject nested in Stim.Type. You could try to change the random effect to +(Stim.Type/Subject) and compare this with the aov output.